export interface DeferredPromise extends Promise { resolve: () => void; reject: () => void; } export declare type Omit = Pick>; export declare type RequiredKnownKeys = { [K in keyof T]: {} extends Pick ? never : K; } extends { [_ in keyof T]: infer U; } ? ({} extends U ? never : U) : never; export declare type OptionalKnownKeys = { [K in keyof T]: string extends K ? never : number extends K ? never : {} extends Pick ? K : never; } extends { [_ in keyof T]: infer U; } ? ({} extends U ? never : U) : never;