export class Defer { resolve: (data?: T) => void; reject: (error: Error | string) => void; promise: Promise; } /** * @deprecated use `new Defer()` directly, since v1.0.0. */ export const makeDefer: () => Defer; export type EventHandler = (data: any) => void; export interface EventTrigger { addEventListener?(name: string, handler: EventHandler): void; removeEventListener?(name: string, handler: EventHandler): void; on?(name: string, handler: EventHandler): this; off?(name: string, handler: EventHandler): this; } declare global { interface SymbolConstructor { readonly observable: unique symbol; } } export interface Observer { next(value: T): void; error(reason: string | Error): void; complete(): void; } export interface Subscription { unsubscribe(): void; readonly closed: boolean; } export interface Subscribable { [Symbol.observable](): Subscribable; subscribe(onNext: Observer['next'], onError?: Observer['error'], onComplete?: Observer['complete']): Subscription; } export type SubscriberFunction = (observer: Observer) => (() => void) | void; export class Observable implements Subscribable { constructor(subscriber: SubscriberFunction); [Symbol.observable](): this; [Symbol.asyncIterator](): AsyncGenerator, void, unknown>; static fromStream(list: Iterable | AsyncIterable): Observable; static of(...items: T[]): Observable; toPromise(): Promise; subscribe(onNext: Observer['next'], onError?: Observer['error'], onComplete?: Observer['complete']): { unsubscribe: () => boolean; readonly closed: boolean; }; static from(observable: Iterable | AsyncIterable | Subscribable): Observable; static fromEvent(target: EventTrigger, name: string): Observable; } export function createQueue(): { process(data: D): Promise; destroy(): void; observable: Observable<{ defer: Defer; data: D; }>; }; //# sourceMappingURL=index.d.ts.map