export type Resolve<T> = (value?: T | PromiseLike<T>) => void;
export type Reject = (reason?: unknown) => void;
export type Executor<T> = Promise<T> | ((resolve: Resolve<T>, reject: Reject) => void);
declare function Resolvable<T>(handler?: Executor<T>): Resolvable<T>;
declare class Resolvable<T> extends Promise<T> {
    constructor(promise?: Executor<T>);
    resolve: Resolve<T>;
    reject: Reject;
}
export default Resolvable;
//# sourceMappingURL=resolvable.d.ts.map