///
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;
}