export declare function createDeferredFactory(PromiseCtor?: PromiseConstructor): <T>() => Deferred<T>;
export declare const createDeferred: <T>() => Deferred<T>;
export interface Deferred<T> {
    value: T;
    promise: Promise<T>;
    resolve(value?: T | undefined | PromiseLike<T>): void;
    reject(reason: any): void;
}
