/// export declare type CleanupFunction = () => void; export declare type SubscriberFunction = (observer: Observer) => (Subscription | CleanupFunction); export declare class Observable { private subscriberFunction; constructor(subscriberFunction: SubscriberFunction); subscribe(observer: Observer): Subscription; } export interface Observer { next?: (value: T) => void; error?: (error: Error) => void; complete?: () => void; } export interface Subscription { unsubscribe: CleanupFunction; }