export type ArrayElement = T extends (infer U)[] ? U : never; export type DeepPartial = { [P in keyof T]?: T[P] extends infer TP ? TP extends (infer U)[] ? DeepPartial[] : TP extends ReadonlyArray ? ReadonlyArray> : DeepPartial : T[P]; }; export type IfEmptyObject = keyof Obj extends { length: 0; } ? If : Else; export type IfAllOptionalKeys = NonOptionalKeys extends { length: 0; } ? If : Else; export type IfAllNullableKeys = NonNullableKeys extends { length: 0; } ? If : Else; export type NonOptionalKeys = { [K in keyof T]-?: undefined extends T[K] ? never : K; }[keyof T]; export type NonNullableKeys = { [K in keyof T]-?: null extends T[K] ? never : K; }[keyof T]; export type NoInfer = { [K in keyof T]: T[K]; } & T; type ReactStatics = 'displayName' | 'getDerivedStateFromProps' | 'getDerivedStateFromErrors' | 'childContextTypes' | 'contextType' | 'contextTypes' | 'getDefaultProps' | 'propTypes'; export type NonReactStatics = Pick>; export type ExtendedWindow = Window & typeof globalThis & T; type DeepOmitHelper = { [P in keyof T]: T[P] extends infer TP ? TP extends (infer U)[] ? DeepOmit[] : DeepOmit : T[P]; }; type Primitive = string | Function | number | boolean | Symbol | undefined | null; export type DeepOmit = T extends Primitive ? T : K extends keyof T ? Omit, K> : DeepOmitHelper; export type DeepOmitArray = { [P in keyof T]: DeepOmit; }; export type PartialSome = Omit & Partial>; export type RequireSome = Omit & Required>; type IsAny = 0 extends 1 & T ? true : false; type IsUnknown = IsAny extends true ? false : unknown extends T ? true : false; export type DeepReadonly = T extends Primitive ? T : T extends Map ? ReadonlyMap, DeepReadonly> : T extends ReadonlyMap ? ReadonlyMap, DeepReadonly> : T extends WeakMap ? WeakMap, DeepReadonly> : T extends Set ? ReadonlySet> : T extends ReadonlySet ? ReadonlySet> : T extends WeakSet ? WeakSet> : T extends Promise ? Promise> : T extends {} ? { readonly [K in keyof T]: DeepReadonly; } : IsUnknown extends true ? unknown : Readonly; export {}; //# sourceMappingURL=types.d.ts.map