import { FSharpChoice$2_$union } from "./Choice.js"; import { Option } from "./Option.js"; import { IDisposable } from "./Util.js"; export interface IObserver { OnNext: (x: T) => void; OnError: (e: any) => void; OnCompleted: () => void; } export declare class Observer implements IObserver { OnNext: (x: T) => void; OnError: (e: any) => void; OnCompleted: () => void; constructor(onNext: (x: T) => void, onError?: (e: any) => void, onCompleted?: () => void); } export interface IObservable { Subscribe: (o: IObserver) => IDisposable; } declare class Observable implements IObservable { Subscribe: (o: IObserver) => IDisposable; constructor(subscribe: (o: IObserver) => IDisposable); } export declare function add(callback: (x: T) => void, source: IObservable): void; export declare function choose(chooser: (x: T) => Option, source: IObservable): Observable; export declare function filter(predicate: (x: T) => boolean, source: IObservable): IObservable; export declare function map(mapping: (x: T) => U, source: IObservable): IObservable; export declare function merge(source1: IObservable, source2: IObservable): IObservable; export declare function pairwise(source: IObservable): IObservable<[T, T]>; export declare function partition(predicate: (x: T) => boolean, source: IObservable): [Observable, Observable]; export declare function scan(collector: (u: U, t: T) => U, state: U, source: IObservable): IObservable; export declare function split(splitter: (x: T) => FSharpChoice$2_$union, source: IObservable): [Observable, Observable]; export declare function subscribe(callback: (x: T) => void, source: IObservable): IDisposable; export {};