export type Nullable = T | null | undefined; export type Defined = Exclude; export type DefinedNullable = Defined>; type _ExtractWithFallback = T extends T ? Extract : never; export type ExtractWithFallback = _ExtractWithFallback extends never ? U : _ExtractWithFallback; export type GetPredicateType = Extract>; export type List = (List | T)[]; export type ListWithoutFirst = T extends [any, ...infer Rest] ? Rest : []; export type PredicateType = T extends (value: any) => value is infer P ? P : T extends (value: any) => asserts value is infer P ? P : never; export type Promised = T | PromiseLike; export declare const enum PromiseState { PENDING = "pending", FULFILLED = "fulfilled", REJECTED = "rejected" } export type KeyOfRecord = T extends T ? keyof T : never; export type ValueOfRecord> = T extends T ? T[keyof T] : never; export type NullableFields = T extends T ? { [K in keyof Partial]: T[K] | null; } : never; export type Struct> = T extends T ? T & { [key: string | number | symbol]: any; } : never; export type WithPartialField> = T extends T ? { [P in keyof T]: Field extends P ? T[P] | undefined : T[P]; } : never; export type WithReplacedUnderscoreOrDash = S extends `${infer T}${Character}${infer U}` ? `${T}${Replace}${U}` : S; type StrictUnionHelper = T extends any ? T & Partial, keyof T>, never>> : never; export type StrictUnion = StrictUnionHelper; export type StringWithAutocompleteOptions = T | (string & {}); type _NestedObjectProp = K extends K ? (T[K] extends object ? K : never) : never; type NestedObjectProp = Extract>; export type DeepReadonly = T extends object ? Omit, NestedObjectProp> & Readonly<{ [K in NestedObjectProp]: DeepReadonly; }> : T; export {}; //# sourceMappingURL=types.d.ts.map