import './object';
export declare enum PromiseState {
    Pending = 0,
    Fulfilled = 1,
    Rejected = 2
}
export declare class DeferredPromise<T = void> extends Promise<T> {
    #private;
    constructor();
    constructor(executor?: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: unknown) => void) => void);
    get state(): PromiseState;
    resolve(value?: T | PromiseLike<T>): void;
    reject(reason?: unknown): void;
}
declare class PromiseConstructorExtensions {
    delay(ms: number): Promise<void>;
    createDeferred<T = void>(): DeferredPromise<T>;
}
declare global {
    interface PromiseConstructor extends PromiseConstructorExtensions {
    }
}
export {};
