/** * Copyright (c) 2017-present A. Matías Quezada */ export default class CancellablePromise extends Promise { protected _cancel: CancellableExecutor; protected _onCancel: CancelListener[]; protected _isCancelled: boolean; constructor(executor: Executor); cancel(): boolean; then(onfulfilled?: OnFulfilled, onrejected?: OnRejected, oncancel?: OnCancelled): CancellablePromise; } export declare type CancellableExecutor = CancelPromise | CancellablePromise | null; export declare type CancelPromise = () => boolean; export declare type CancelListener = () => void; export declare type Resolver = (value?: T | PromiseLike) => void; export declare type Rejector = (reason?: any) => void; export declare type Executor = (resolve: Resolver, reject: Rejector) => CancellableExecutor; export declare type OnFulfilled = (value: T) => TResult1 | PromiseLike; export declare type OnRejected = (reason: any) => TResult2 | PromiseLike; export declare type OnCancelled = (() => void);