import { Subscribable as RxjsSubscribable, Unsubscribable as RxjsUnsubscribable } from 'rxjs'; export type Observer = (v: S) => void export interface IUnsubscribable { unsubscribe(observer: Observer): void; } export interface ISubscribable { subscribe(observer: Observer): IUnsubscribable; } export type Subscribable = ISubscribable | RxjsSubscribable export type Subscription = IUnsubscribable | RxjsUnsubscribable