export declare class Deferred { readonly pr: Promise; /** NOTE: Does not need to be called bound to instance*/ readonly resolve: (value: T) => void; readonly reject: (error: any) => void; constructor(); readonly isPending: boolean; } export declare namespace Deferred { type Unpack> = T extends Deferred ? U : never; } export declare class VoidDeferred extends Deferred { readonly resolve: () => void; }