export type Observer = (value: Readonly) => void; export interface Observable { close: () => void; listen(observer: Observer): Unsubscription; next(value: T): void; subscribe(observer: Observer): Unsubscription; readonly value: T; } export declare function observable(): Observable; export declare function observable(value: T): Observable;