/** * Recursively make all properties optional */ type Primitive = string | number | boolean | bigint | symbol | null | undefined; type Builtin = Primitive | Date | Error | RegExp; export type RecursivePartial = T extends Builtin ? T : T extends ReadonlyArray ? ReadonlyArray> : T extends Array ? Array> : T extends Map ? Map, RecursivePartial> : T extends Set ? Set> : T extends object ? { [P in keyof T]?: RecursivePartial; } : T; /** Type safe wrapper for Number constructor that takes 'any' */ export declare function bnToNum(bn: bigint): number; export type NonEmptyArray = [T, ...T[]]; /** * ArrayToTuple converts an `Array` to `[T, ...T]` * * eg: `[1, 2, 3]` from type `number[]` to `[number, number, number]` */ export type ArrayToTuple> = { [Index in keyof Tuple]: Tuple[Index]; }; /** * Convert optional attributes of an object to required */ export type RequiredSelective = T & { [K in Keys]-?: T[K]; }; export {}; //# sourceMappingURL=types.d.ts.map