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