import type { NonEmptyReadonlyArray } from "effect/Array";
import * as Option from "effect/Option";
import type { Misc, Union } from "ts-toolbelt";
import type * as SET from "./Set.js";
type OptOf = Union.Exclude ? X | null : A, Option.None>;
export type TransformRoot = O extends Option.Option ? 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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDOUMsT0FBTyxLQUFLLEtBQUssR0FBRyxNQUFNLFVBQVUsQ0FBQTtBQWNwQyxLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDakIsQ0FBQTtBQUdELE1BQU0sTUFBTSxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDN0UsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2hCLE1BQU0sTUFBTSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUNsRTtLQUNDLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUN2RixDQUFDLFNBQVMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDckYsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN6RCxDQUFDLFNBQVMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUMvRCxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQ1osS0FBSztDQUNWLENBQUE7QUFFSCxlQUFPLE1BQU0sb0JBQW9CLEdBQUksQ0FBQyxRQUFRLENBQUMsS0FBRyxhQUFhLENBQUMsQ0FBQyxDQUEyQyxDQUFBIn0=