export declare type PromiseResolve = (value?: Value | PromiseLike) => void; export declare type PromiseReject = (reason?: any) => void; export declare type PromiseExecutor = (resolve: PromiseResolve, reject: PromiseReject) => void; export declare type PromiseOnFulfilled = ((value: InputType) => OutputType | PromiseLike) | undefined | null; export declare type PromiseOnRejected = ((reason: any) => OutputType | PromiseLike) | undefined | null; export declare type PromiseOnFinally = (() => void) | undefined | null; export default class BasePromise { private _promise; constructor(executor: PromiseExecutor); then(onfulfilled?: PromiseOnFulfilled, onrejected?: PromiseOnRejected): Promise; catch(onrejected?: PromiseOnRejected): Promise; finally(onfinally?: PromiseOnFinally): Promise; }