import * as t from '@sinclair/typebox'; import * as z from 'zod'; type TFromAny = t.TAny; type TFromArray = t.Ensure>>; type TFromBigInt = t.TBigInt; type TFromBoolean = t.TBoolean; type TFromDate = t.TDate; type TFromDefault = TFromType; type TFromDiscriminatedUnion[], Result extends t.TSchema[] = []> = (Types extends [infer Left extends z.ZodObject, ...infer Right extends z.ZodObject[]] ? TFromDiscriminatedUnion]> : t.TUnion); type TFromEffects = t.Ensure, Output>>; /** prettier-ignore */ type TFromEnum = Variants extends [infer Left extends string, ...infer Right extends string[]] ? TFromEnum]> : t.TUnion; type TFromLiteral = t.Ensure : t.TNever>; type TFromIntersect = (Types extends [infer Left extends z.ZodTypeAny, ...infer Right extends z.ZodTypeAny[]] ? TFromIntersect]> : t.Ensure>); type TFromObject = t.Ensure; }>>; type TFromOptional>> = Result; type TFromPromise = t.Ensure>>; type TFromNullable = t.Ensure]>>; type TFromNumber = t.TNumber; type TFromNever = t.TNever; type TFromNull = t.TNull; type TFromReadonly>> = Result; type TFromRecord = t.Ensure, TFromType>>; type TFromString = t.TString; type TFromSymbol = t.TSymbol; type TFromTuple = (Types extends [infer Left extends z.ZodTypeAny, ...infer Right extends z.ZodTypeAny[]] ? TFromTuple]> : t.TTuple); type TFromUndefined = t.TUndefined; type TFromUnion = (Types extends [infer Left extends z.ZodTypeAny, ...infer Right extends z.ZodTypeAny[]] ? TFromUnion]> : t.TUnion); type TFromUnknown = t.TUnknown; type TFromVoid = t.TVoid; type TFromType = (Type extends z.ZodAny ? TFromAny : Type extends z.ZodArray ? TFromArray : Type extends z.ZodBigInt ? TFromBigInt : Type extends z.ZodBoolean ? TFromBoolean : Type extends z.ZodDate ? TFromDate : Type extends z.ZodDefault ? TFromDefault : Type extends z.ZodDiscriminatedUnion ? TFromDiscriminatedUnion : Type extends z.ZodEffects ? TFromEffects : Type extends z.ZodEnum ? TFromEnum : Type extends z.ZodLiteral ? TFromLiteral : Type extends z.ZodNullable ? TFromNullable : Type extends z.ZodObject ? TFromObject : Type extends z.ZodOptional ? TFromOptional : Type extends z.ZodPromise ? TFromPromise : Type extends z.ZodRecord ? TFromRecord : Type extends z.ZodReadonly ? TFromReadonly : Type extends z.ZodNumber ? TFromNumber : Type extends z.ZodNever ? TFromNever : Type extends z.ZodNull ? TFromNull : Type extends z.ZodString ? TFromString : Type extends z.ZodSymbol ? TFromSymbol : Type extends z.ZodTuple ? TFromTuple> : Type extends z.ZodUndefined ? TFromUndefined : Type extends z.ZodUnion ? TFromUnion> : Type extends z.ZodUnknown ? TFromUnknown : Type extends z.ZodVoid ? TFromVoid : Type extends z.ZodIntersection ? TFromIntersect<[Left, Right]> : t.TNever); /** Creates a TypeBox type from Zod */ export type TTypeBoxFromZod, Result extends t.TSchema = TFromType> = Result; /** Creates a TypeBox type from Zod */ export declare function TypeBoxFromZod>(type: Type): TTypeBoxFromZod; export {};