import type { BuiltInObject } from "@effect-ts/core/Utils"; type AllKeys = T extends any ? keyof T : never; type OptionalKeys = T extends any ? { [K in keyof T]-?: {} extends Pick ? K : never; }[keyof T] : never; type Idx = T extends any ? K extends keyof T ? T[K] : D : never; type PartialKeys = Omit & Partial> extends infer O ? { [P in keyof O]: O[P]; } : never; export type Primitive = boolean | string | number | bigint | symbol | undefined | null; export type Widen = [T] extends [BuiltInObject] | [Primitive] ? T : [T] extends [Array] ? { [K in keyof T]: Widen; } : [T] extends [ReadonlyArray] ? { [K in keyof T]: Widen; } : [ T ] extends [object] ? PartialKeys<{ [K in AllKeys]: Widen>; }, Exclude, keyof T> | OptionalKeys> : T; export {}; //# sourceMappingURL=Widen.type.d.ts.map