import PromiseHandler from './PromiseHandler';
declare class Promise<T> {
    _state: number;
    _handled: boolean;
    _value: T | unknown;
    _deferreds: Array<PromiseHandler<T>>;
    then(onFulfilled: Function | null, onRejected: Function | null): Promise<T> | void;
    constructor(callback: Function);
    doResolve(callback: Function): void;
    promiseResolve(newValue: Promise<T> | null | unknown): void;
    promiseReject(newValue: unknown): void;
    finale(): void;
    handle(deferred: PromiseHandler<T>): void;
    static all(arr: Array<Promise<unknown>>): Promise<unknown>;
    static resolve(value: unknown): Promise<unknown>;
    static reject(value: unknown): Promise<unknown>;
    static race(arr: Array<Promise<unknown>>): Promise<unknown>;
    static _immediate(callback: Function): void;
    static _unhandledRejection(error: Promise<unknown> | null | unknown): void;
}
export default Promise;
