import { DisposeCallback, ObservableLike } from '../types'; import Observable from '../observable'; import Subject from '../subject'; export { default as filter } from '../filter'; export { default as map } from '../map'; export { default as scan } from '../scan'; export { default as switchLatest } from '../switch-latest'; export { default as skipRepeats } from '../distinct-until-changed'; export { default as tap } from '../tap'; export declare type Stream = ObservableLike; export declare function just(value: T): ObservableLike; export declare function hold(stream: ObservableLike): ObservableLike; export declare function merge(...streams: Array>): Stream; export declare function sync(): Subject; export declare function create(factory: (next: (value: T) => void, complete: () => void, error: (error: Error) => void) => DisposeCallback | void): Observable; export declare function combineArray(combiner: (...values: Array) => V, streams: Array>): ObservableLike; export interface Emitter { emit(event: T): void; listen(callback: (event: T) => void): () => void; }