/** * Copyright (c) 2017-present A. Matías Quezada */ export default class StreamSubscription extends Promise { protected onCancel: OnCancelCallback; protected onResolve: PromiseResolver; protected onReject: PromiseRejector; constructor(executor: PromiseExecutor); cancel(): void; then(onfulfilled?: PromiseListener, onrejected?: PromiseListener): StreamSubscription; } export declare type PromiseExecutor = (resolve: PromiseResolver, reject: PromiseRejector) => StreamSubscription | OnCancelCallback | void; export declare type PromiseResolver = (value?: T | PromiseLike) => void; export declare type PromiseRejector = (value?: Error | PromiseLike) => void; export declare type PromiseListener = ((value: TInput) => TOutput | PromiseLike) | undefined | null; export declare type OnCancelCallback = () => void;