import { IAddFilter, IErrorCallback, IFilterSetup, IObserver, ISetup, IStream, ISubscribeGroup, ISubscribeObject, ISubscriptionLike } from "./Types"; import { SubscribeObject } from "./SubscribeObject"; import { FilterCollection } from "./FilterCollection"; export declare class Observable implements IObserver, IStream, IAddFilter { protected subs: ISubscribeObject[]; protected enabled: boolean; protected killed: boolean; protected process: boolean; protected trash: ISubscriptionLike[]; protected filters: FilterCollection; protected _value: T | null; constructor(value?: T | null); addFilter(errorHandler?: IErrorCallback): IFilterSetup; disable(): void; enable(): void; get isEnable(): boolean; next(value: T): void; of(values: T[]): void; in(obj: Record): void; private clearTrash; unSubscribe(listener: ISubscriptionLike): void; destroy(): void; unsubscribeAll(): void; protected clearDebounceTimers(): void; getValue(): T | undefined; size(): number; subscribe(observer: ISubscribeGroup, errorHandler?: IErrorCallback): ISubscriptionLike; protected addObserver(subscribeObject: SubscribeObject, observer: ISubscribeGroup, errorHandler?: IErrorCallback): void; protected isListener(listener: ISubscribeGroup): boolean; pipe(): ISetup; get isDestroyed(): boolean; }