import { type Noop, noop } from '../../utils/noop'; export type TeardownLogic = Unsubscribable | Noop | void; export type UnaryFunction = (source: TSource) => TReturn; export type MonoTypeOperatorFunction = OperatorFunction; export type OperatorFunction = UnaryFunction, Subscribable>; export type Observer = { next: (value: TValue) => void; error: (err: TError) => void; complete: () => void; }; export type Unsubscribable = { unsubscribe(): void; }; export type InferObservableValue = TObservable extends Observable ? TValue : never; export declare function isObservable(x: unknown): x is Observable; export declare function pipeReducer(previousValue: any, next: UnaryFunction): any; export declare function promisifyObservable(observable: Observable): { promise: Promise; abort: typeof noop; }; export declare class ObservableAbortError extends Error { constructor(message?: string); } export declare class Subscribable { onSubscribe: (observer: Observer) => TeardownLogic; constructor(onSubscribe: (observer: Observer) => TeardownLogic); subscribe(observer?: Partial>): Unsubscribable; } export declare class Observable extends Subscribable { constructor(onSubscribe: (observer: Observer) => TeardownLogic); pipe(): Observable; pipe(op1: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction): Observable; } //# sourceMappingURL=observable.d.ts.map