export interface Defer { promise: Promise; resolve: (a: A) => Promise; reject: (e: E) => Promise; } export declare function createDefer(): Defer; export declare function resolveDefer(defer: Defer, a: A, f: () => E | Promise): Promise;