export declare type CancelFn = () => void;
export declare type ResolveFn = (value?: any) => any | void;
export declare type RejectFn = (reason?: Error) => any | void;
export declare class CancelableAction {
    private _executors;
    private _onCancel;
    constructor(executor: (resolve: ResolveFn, reject: RejectFn) => CancelFn | void);
    private _onResolve(value?);
    private _onReject(reason?);
    private _notifyExecutor(value, isResolved);
    private _handleErrorOriginatedFromExecuter(reason);
    cancel(): void;
    then(resolve: ResolveFn, reject: RejectFn): this;
}
