// import { Unsubscribable } from './Unsubscribable'; import { Observer } from './Observer'; import { Subscription } from './Subscription'; export type ObserverCallBack = (data: T) => void; export type ErrorCallBack = (e: E) => void; export type CompleteCallBack = () => void; export interface Subscribable { subscribe(observer: Partial>): Subscription; subscribe(d: ObserverCallBack): Subscription; subscribe(d: ObserverCallBack, e?: ErrorCallBack, c?: CompleteCallBack): Subscription; }