export type DeferPromise<R> = {
    promise: Promise<R>;
    resolve: (result: R) => void;
    reject: (reason: any) => void;
    entangle: (outsidePromise: Promise<R>) => Promise<R>;
};
export declare function deferPromise<R>(): DeferPromise<R>;
