declare global { type DiffKeys = { [K in keyof T]: K extends keyof U ? never : K; }[keyof T]; type Diff = Pick | DiffKeys>; type DeepPartial = { [K in keyof T]?: T[K] extends object ? DeepPartial : T[K]; }; type Callable = (...args: A) => T; type ResolveType = ReturnType extends Promise ? U : ReturnType; type Asynchronize = ReturnType extends Promise ? T : (ReturnType extends (AsyncIterableIterator | IterableIterator) ? (...args: Parameters) => AsyncIterableIterator : (...args: Parameters) => Promise> ); type FunctionProperties = Pick>; type NonFunctionProperties = Pick>; type FunctionPropertyNames = { [K in keyof T]: T[K] extends Function ? K : never }[keyof T]; type NonFunctionPropertyNames = { [K in keyof T]: T[K] extends Function ? never : K }[keyof T]; } export { };