import * as t from '@sinclair/typebox'; type TEmptyString = ''; type TAmpersand = '&'; type TComma = ','; type TPipe = '|'; type TFromDelimited = (Values extends [infer Left extends string, ...infer Right extends string[]] ? Result extends TEmptyString ? TFromDelimited : TFromDelimited : Result); type TFromAny<_Type extends t.TAny> = 'any'; type TFromArray}[]`> = Result; type TFromBigInt<_Type extends t.TBigInt> = 'bigint'; type TFromBoolean<_Type extends t.TBoolean> = 'boolean'; type TFromConstructor, MappedInstanceType extends string = TFromType> = `new ${MappedParameters} => ${MappedInstanceType}`; type TFromFunction, MappedReturnType extends string = TFromType> = `${MappedParameters} => ${MappedReturnType}`; type TFromInteger<_Type extends t.TInteger> = 'integer'; type TFromIntersect = (Types extends [infer Left extends t.TSchema, ...infer Right extends t.TSchema[]] ? TFromIntersect]> : `(${TFromDelimited})`); type TFromLiteral = Result; type TFromNumber<_Type extends t.TNumber> = 'number'; type TFromNull<_Type extends t.TNull> = 'null'; type TFromObject, Delimited extends string[] = TFromProperties, Result extends string = TFromDelimited> = `{ ${Result} }`; type TFromParameters = (Parameters extends [infer Left extends t.TSchema, ...infer Right extends t.TSchema[]] ? TFromParameters, [...Result, `arg${Index}: ${TFromType}`]> : `(${TFromDelimited})`); type TFromProperty ? true : false, IsReadonly extends boolean = Type extends t.TReadonly ? true : false, Mapped extends string = TFromType, Result = ([ IsReadonly, IsOptional ] extends [true, true] ? `readonly ${Key}?: ${Mapped}` : [ IsReadonly, IsOptional ] extends [false, true] ? `${Key}?: ${Mapped}` : [ IsReadonly, IsOptional ] extends [true, false] ? `readonly ${Key}: ${Mapped}` : `${Key}: ${Mapped}`)> = Result; type TFromProperties = (PropertyKeys extends [infer Left extends PropertyKey, ...infer Right extends PropertyKey[]] ? (Left extends infer Key extends string ? (Key extends keyof Properties ? TFromProperties]> : TFromProperties) : TFromProperties) : Result); type TFromPromise}>`> = Result; type TFromString<_Type extends t.TString> = 'string'; type TFromSymbol<_Type extends t.TSymbol> = 'symbol'; type TFromTuple = (Types extends [infer Left extends t.TSchema, ...infer Right extends t.TSchema[]] ? TFromTuple]> : `[${TFromDelimited}]`); type TFromUndefined<_Type extends t.TUndefined> = 'undefined'; type TFromUnion = (Types extends [infer Left extends t.TSchema, ...infer Right extends t.TSchema[]] ? TFromUnion]> : `(${TFromDelimited})`); type TFromUnknown = 'unknown'; type TFromVoid = 'void'; type TFromType = (Type extends t.TAny ? TFromAny : Type extends t.TArray ? TFromArray : Type extends t.TBigInt ? TFromBigInt : Type extends t.TBoolean ? TFromBoolean : Type extends t.TConstructor ? TFromConstructor : Type extends t.TFunction ? TFromFunction : Type extends t.TInteger ? TFromInteger : Type extends t.Intersect ? TFromIntersect : Type extends t.TLiteral ? TFromLiteral : Type extends t.TNumber ? TFromNumber : Type extends t.TNull ? TFromNull : Type extends t.TObject ? TFromObject : Type extends t.TPromise ? TFromPromise : Type extends t.TString ? TFromString : Type extends t.TSymbol ? TFromSymbol : Type extends t.TTuple ? TFromTuple : Type extends t.TUndefined ? TFromUndefined : Type extends t.TUnion ? TFromUnion : Type extends t.TUnknown ? TFromUnknown : Type extends t.TVoid ? TFromVoid : 'never'); export type TSyntaxFromTypeBox> = Result; export declare function SyntaxFromTypeBox(type: t.TSchema): TSyntaxFromTypeBox; export {};