import { Some, None } from "@fp-ts/data/Option"; import { Opt } from "@effect-ts-app/core/Option"; import { NonEmptyReadonlyArray } from "@fp-ts/data/ReadonlyArray"; import type { Misc, Union } from "ts-toolbelt"; import type * as SET from "./Set.js"; type OptOf = Union.Exclude ? X | null : A, None>; export type TransformRoot = O extends Opt ? Transform> : Transform; export type Transform = O extends Misc.BuiltIn | Misc.Primitive ? O : { [K in keyof O]: OptOf extends infer X ? X extends (infer Y)[] ? OptOf>[] : X extends NonEmptyReadonlyArray ? NonEmptyReadonlyArray>> : X extends SET.Set ? SET.Set>> : X extends readonly (infer Y)[] ? readonly OptOf>[] : Transform : never; }; export declare const encodeOptsAsNullable: (root: T) => TransformRoot; export {}; //# sourceMappingURL=transform.d.ts.map