UNPKG

@blankeos/velite

Version:

Turns Markdown / MDX, YAML, JSON, or other files into app's data layer with type-safe schema.

1,157 lines (1,145 loc) 244 kB
import { CompileOptions } from '@mdx-js/mdx'; type LogType = 'debug' | 'info' | 'warn' | 'error'; type LogLevel = LogType | 'silent'; declare const logger: { log: (msg: unknown, begin?: number) => void; info: (msg: unknown, begin?: number) => void; warn: (msg: unknown, begin?: number) => void; error: (msg: unknown, begin?: number) => void; clear: () => void; set: (level: LogLevel) => void; }; type Primitive = string | number | symbol | bigint | boolean | null | undefined; type Scalars = Primitive | Primitive[]; declare namespace util { type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false; export type isAny<T> = 0 extends 1 & T ? true : false; export const assertEqual: <A, B>(val: AssertEqual<A, B>) => AssertEqual<A, B>; export function assertIs<T>(_arg: T): void; export function assertNever(_x: never): never; export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>; export type MakePartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>; export type Exactly<T, X> = T & Record<Exclude<keyof X, keyof T>, never>; export const arrayToEnum: <T extends string, U extends [T, ...T[]]>(items: U) => { [k in U[number]]: k; }; export const getValidEnumValues: (obj: any) => any[]; export const objectValues: (obj: any) => any[]; export const objectKeys: ObjectConstructor['keys']; export const find: <T>(arr: T[], checker: (arg: T) => any) => T | undefined; export type identity<T> = objectUtil.identity<T>; export type flatten<T> = objectUtil.flatten<T>; export type noUndefined<T> = T extends undefined ? never : T; export const isInteger: NumberConstructor['isInteger']; export function joinValues<T extends any[]>(array: T, separator?: string): string; export const jsonStringifyReplacer: (_: string, value: any) => any; export {}; } declare namespace objectUtil { export type MergeShapes<U, V> = { [k in Exclude<keyof U, keyof V>]: U[k]; } & V; type optionalKeys<T extends object> = { [k in keyof T]: undefined extends T[k] ? k : never; }[keyof T]; type requiredKeys<T extends object> = { [k in keyof T]: undefined extends T[k] ? never : k; }[keyof T]; export type addQuestionMarks<T extends object, _O = any> = { [K in requiredKeys<T>]: T[K]; } & { [K in optionalKeys<T>]?: T[K]; } & { [k in keyof T]?: unknown; }; export type identity<T> = T; export type flatten<T> = identity<{ [k in keyof T]: T[k]; }>; export type noNeverKeys<T> = { [k in keyof T]: [T[k]] extends [never] ? never : k; }[keyof T]; export type noNever<T> = identity<{ [k in noNeverKeys<T>]: k extends keyof T ? T[k] : never; }>; export const mergeShapes: <U, T>(first: U, second: T) => T & U; export type extendShape<A extends object, B extends object> = { [K in keyof A as K extends keyof B ? never : K]: A[K]; } & { [K in keyof B]: B[K]; }; export {}; } declare const ZodParsedType: { string: "string"; number: "number"; bigint: "bigint"; boolean: "boolean"; symbol: "symbol"; undefined: "undefined"; object: "object"; function: "function"; map: "map"; nan: "nan"; integer: "integer"; float: "float"; date: "date"; null: "null"; array: "array"; unknown: "unknown"; promise: "promise"; void: "void"; never: "never"; set: "set"; }; type ZodParsedType = keyof typeof ZodParsedType; declare const getParsedType: (data: any) => ZodParsedType; type allKeys<T> = T extends any ? keyof T : never; type inferFlattenedErrors<T extends ZodType<any, any, any>, U = string> = typeToFlattenedError<TypeOf<T>, U>; type typeToFlattenedError<T, U = string> = { formErrors: U[]; fieldErrors: { [P in allKeys<T>]?: U[]; }; }; declare const ZodIssueCode: { invalid_type: "invalid_type"; invalid_literal: "invalid_literal"; custom: "custom"; invalid_union: "invalid_union"; invalid_union_discriminator: "invalid_union_discriminator"; invalid_enum_value: "invalid_enum_value"; unrecognized_keys: "unrecognized_keys"; invalid_arguments: "invalid_arguments"; invalid_return_type: "invalid_return_type"; invalid_date: "invalid_date"; invalid_string: "invalid_string"; too_small: "too_small"; too_big: "too_big"; invalid_intersection_types: "invalid_intersection_types"; not_multiple_of: "not_multiple_of"; not_finite: "not_finite"; }; type ZodIssueCode = keyof typeof ZodIssueCode; type ZodIssueBase = { path: (string | number)[]; message?: string; }; interface ZodInvalidTypeIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_type; expected: ZodParsedType; received: ZodParsedType; } interface ZodInvalidLiteralIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_literal; expected: unknown; received: unknown; } interface ZodUnrecognizedKeysIssue extends ZodIssueBase { code: typeof ZodIssueCode.unrecognized_keys; keys: string[]; } interface ZodInvalidUnionIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_union; unionErrors: ZodError[]; } interface ZodInvalidUnionDiscriminatorIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_union_discriminator; options: Primitive[]; } interface ZodInvalidEnumValueIssue extends ZodIssueBase { received: string | number; code: typeof ZodIssueCode.invalid_enum_value; options: (string | number)[]; } interface ZodInvalidArgumentsIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_arguments; argumentsError: ZodError; } interface ZodInvalidReturnTypeIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_return_type; returnTypeError: ZodError; } interface ZodInvalidDateIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_date; } type StringValidation = 'email' | 'url' | 'emoji' | 'uuid' | 'nanoid' | 'regex' | 'cuid' | 'cuid2' | 'ulid' | 'datetime' | 'date' | 'time' | 'duration' | 'ip' | 'base64' | { includes: string; position?: number; } | { startsWith: string; } | { endsWith: string; }; interface ZodInvalidStringIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_string; validation: StringValidation; } interface ZodTooSmallIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_small; minimum: number | bigint; inclusive: boolean; exact?: boolean; type: 'array' | 'string' | 'number' | 'set' | 'date' | 'bigint'; } interface ZodTooBigIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_big; maximum: number | bigint; inclusive: boolean; exact?: boolean; type: 'array' | 'string' | 'number' | 'set' | 'date' | 'bigint'; } interface ZodInvalidIntersectionTypesIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_intersection_types; } interface ZodNotMultipleOfIssue extends ZodIssueBase { code: typeof ZodIssueCode.not_multiple_of; multipleOf: number | bigint; } interface ZodNotFiniteIssue extends ZodIssueBase { code: typeof ZodIssueCode.not_finite; } interface ZodCustomIssue extends ZodIssueBase { code: typeof ZodIssueCode.custom; params?: { [k: string]: any; }; } type DenormalizedError = { [k: string]: DenormalizedError | string[]; }; type ZodIssueOptionalMessage = ZodInvalidTypeIssue | ZodInvalidLiteralIssue | ZodUnrecognizedKeysIssue | ZodInvalidUnionIssue | ZodInvalidUnionDiscriminatorIssue | ZodInvalidEnumValueIssue | ZodInvalidArgumentsIssue | ZodInvalidReturnTypeIssue | ZodInvalidDateIssue | ZodInvalidStringIssue | ZodTooSmallIssue | ZodTooBigIssue | ZodInvalidIntersectionTypesIssue | ZodNotMultipleOfIssue | ZodNotFiniteIssue | ZodCustomIssue; type ZodIssue = ZodIssueOptionalMessage & { fatal?: boolean; message: string; }; declare const quotelessJson: (obj: any) => string; type recursiveZodFormattedError<T> = T extends [any, ...any[]] ? { [K in keyof T]?: ZodFormattedError<T[K]>; } : T extends any[] ? { [k: number]: ZodFormattedError<T[number]>; } : T extends object ? { [K in keyof T]?: ZodFormattedError<T[K]>; } : unknown; type ZodFormattedError<T, U = string> = { _errors: U[]; } & recursiveZodFormattedError<NonNullable<T>>; type inferFormattedError<T extends ZodType<any, any, any>, U = string> = ZodFormattedError<TypeOf<T>, U>; declare class ZodError<T = any> extends Error { issues: ZodIssue[]; get errors(): ZodIssue[]; constructor(issues: ZodIssue[]); format(): ZodFormattedError<T>; format<U>(mapper: (issue: ZodIssue) => U): ZodFormattedError<T, U>; static create: (issues: ZodIssue[]) => ZodError<any>; static assert(value: unknown): asserts value is ZodError; toString(): string; get message(): string; get isEmpty(): boolean; addIssue: (sub: ZodIssue) => void; addIssues: (subs?: ZodIssue[]) => void; flatten(): typeToFlattenedError<T>; flatten<U>(mapper?: (issue: ZodIssue) => U): typeToFlattenedError<T, U>; get formErrors(): typeToFlattenedError<T, string>; } type stripPath<T extends object> = T extends any ? util.OmitKeys<T, 'path'> : never; type IssueData = stripPath<ZodIssueOptionalMessage> & { path?: (string | number)[]; fatal?: boolean; }; type ErrorMapCtx = { defaultError: string; data: any; }; type ZodErrorMap = (issue: ZodIssueOptionalMessage, _ctx: ErrorMapCtx) => { message: string; }; declare const errorMap: ZodErrorMap; declare function setErrorMap(map: ZodErrorMap): void; declare function getErrorMap(): ZodErrorMap; declare const makeIssue: (params: { data: any; path: (string | number)[]; errorMaps: ZodErrorMap[]; issueData: IssueData; }) => ZodIssue; interface ZodMeta { [key: string | number | symbol]: unknown; } type ParseParams = { path: (string | number)[]; meta: ZodMeta; errorMap: ZodErrorMap; async: boolean; }; type ParsePathComponent = string | number; type ParsePath = ParsePathComponent[]; declare const EMPTY_PATH: ParsePath; interface ParseContext { readonly common: { readonly issues: ZodIssue[]; readonly contextualErrorMap?: ZodErrorMap; readonly async: boolean; }; readonly path: ParsePath; readonly meta: ZodMeta; readonly schemaErrorMap?: ZodErrorMap; readonly parent: ParseContext | null; readonly data: any; readonly parsedType: ZodParsedType; } type ParseInput = { data: any; path: (string | number)[]; meta: ZodMeta; parent: ParseContext; }; declare function addIssueToContext(ctx: ParseContext, issueData: IssueData): void; type ObjectPair = { key: SyncParseReturnType<any>; value: SyncParseReturnType<any>; }; declare class ParseStatus { value: 'aborted' | 'dirty' | 'valid'; dirty(): void; abort(): void; static mergeArray(status: ParseStatus, results: SyncParseReturnType<any>[]): SyncParseReturnType; static mergeObjectAsync(status: ParseStatus, pairs: { key: ParseReturnType<any>; value: ParseReturnType<any>; }[]): Promise<SyncParseReturnType<any>>; static mergeObjectSync(status: ParseStatus, pairs: { key: SyncParseReturnType<any>; value: SyncParseReturnType<any>; alwaysSet?: boolean; }[]): SyncParseReturnType; } interface ParseResult { status: 'aborted' | 'dirty' | 'valid'; data: any; } type INVALID = { status: 'aborted'; }; declare const INVALID: INVALID; type DIRTY<T> = { status: 'dirty'; value: T; }; declare const DIRTY: <T>(value: T) => DIRTY<T>; type OK<T> = { status: 'valid'; value: T; }; declare const OK: <T>(value: T) => OK<T>; type SyncParseReturnType<T = any> = OK<T> | DIRTY<T> | INVALID; type AsyncParseReturnType<T> = Promise<SyncParseReturnType<T>>; type ParseReturnType<T> = SyncParseReturnType<T> | AsyncParseReturnType<T>; declare const isAborted: (x: ParseReturnType<any>) => x is INVALID; declare const isDirty: <T>(x: ParseReturnType<T>) => x is OK<T> | DIRTY<T>; declare const isValid: <T>(x: ParseReturnType<T>) => x is OK<T>; declare const isAsync: <T>(x: ParseReturnType<T>) => x is AsyncParseReturnType<T>; declare namespace enumUtil { type UnionToIntersectionFn<T> = (T extends unknown ? (k: () => T) => void : never) extends (k: infer Intersection) => void ? Intersection : never; type GetUnionLast<T> = UnionToIntersectionFn<T> extends () => infer Last ? Last : never; type UnionToTuple<T, Tuple extends unknown[] = []> = [T] extends [never] ? Tuple : UnionToTuple<Exclude<T, GetUnionLast<T>>, [GetUnionLast<T>, ...Tuple]>; type CastToStringTuple<T> = T extends [string, ...string[]] ? T : never; export type UnionToTupleString<T> = CastToStringTuple<UnionToTuple<T>>; export {}; } declare namespace errorUtil { type ErrMessage = string | { message?: string; }; const errToObj: (message?: ErrMessage) => { message?: string; }; const toString: (message?: ErrMessage) => string | undefined; } declare namespace partialUtil { type DeepPartial<T extends ZodTypeAny> = T extends ZodObject<ZodRawShape> ? ZodObject<{ [k in keyof T['shape']]: ZodOptional<DeepPartial<T['shape'][k]>>; }, T['_def']['unknownKeys'], T['_def']['catchall']> : T extends ZodArray<infer Type, infer Card> ? ZodArray<DeepPartial<Type>, Card> : T extends ZodOptional<infer Type> ? ZodOptional<DeepPartial<Type>> : T extends ZodNullable<infer Type> ? ZodNullable<DeepPartial<Type>> : T extends ZodTuple<infer Items> ? { [k in keyof Items]: Items[k] extends ZodTypeAny ? DeepPartial<Items[k]> : never; } extends infer PI ? PI extends ZodTupleItems ? ZodTuple<PI> : never : never : T; } interface RefinementCtx { addIssue: (arg: IssueData) => void; path: (string | number)[]; meta: ZodMeta; } type ZodRawShape = { [k: string]: ZodTypeAny; }; type ZodTypeAny = ZodType<any, any, any>; type TypeOf<T extends ZodType<any, any, any>> = T['_output']; type input<T extends ZodType<any, any, any>> = T['_input']; type output<T extends ZodType<any, any, any>> = T['_output']; type CustomErrorParams = Partial<util.Omit<ZodCustomIssue, 'code'>>; interface ZodTypeDef { errorMap?: ZodErrorMap; description?: string; } type RawCreateParams = { errorMap?: ZodErrorMap; invalid_type_error?: string; required_error?: string; message?: string; description?: string; } | undefined; type ProcessedCreateParams = { errorMap?: ZodErrorMap; description?: string; }; type SafeParseSuccess<Output> = { success: true; data: Output; error?: never; }; type SafeParseError<Input> = { success: false; error: ZodError<Input>; data?: never; }; type SafeParseReturnType<Input, Output> = SafeParseSuccess<Output> | SafeParseError<Input>; declare abstract class ZodType<Output = any, Def extends ZodTypeDef = ZodTypeDef, Input = Output> { readonly _type: Output; readonly _output: Output; readonly _input: Input; readonly _def: Def; get description(): string | undefined; abstract _parse(input: ParseInput): ParseReturnType<Output>; _getType(input: ParseInput): string; _getOrReturnCtx(input: ParseInput, ctx?: ParseContext | undefined): ParseContext; _processInputParams(input: ParseInput): { status: ParseStatus; ctx: ParseContext; }; _parseSync(input: ParseInput): SyncParseReturnType<Output>; _parseAsync(input: ParseInput): AsyncParseReturnType<Output>; parse(data: unknown, params?: Partial<ParseParams>): Output; safeParse(data: unknown, params?: Partial<ParseParams>): SafeParseReturnType<Input, Output>; parseAsync(data: unknown, params?: Partial<ParseParams>): Promise<Output>; safeParseAsync(data: unknown, params?: Partial<ParseParams>): Promise<SafeParseReturnType<Input, Output>>; /** Alias of safeParseAsync */ spa: (data: unknown, params?: Partial<ParseParams>) => Promise<SafeParseReturnType<Input, Output>>; refine<RefinedOutput extends Output>(check: (arg: Output) => arg is RefinedOutput, message?: string | CustomErrorParams | ((arg: Output) => CustomErrorParams)): ZodEffects<this, RefinedOutput, Input>; refine(check: (arg: Output) => unknown | Promise<unknown>, message?: string | CustomErrorParams | ((arg: Output) => CustomErrorParams)): ZodEffects<this, Output, Input>; refinement<RefinedOutput extends Output>(check: (arg: Output) => arg is RefinedOutput, refinementData: IssueData | ((arg: Output, ctx: RefinementCtx) => IssueData)): ZodEffects<this, RefinedOutput, Input>; refinement(check: (arg: Output) => boolean, refinementData: IssueData | ((arg: Output, ctx: RefinementCtx) => IssueData)): ZodEffects<this, Output, Input>; _refinement(refinement: RefinementEffect<Output>['refinement']): ZodEffects<this, Output, Input>; superRefine<RefinedOutput extends Output>(refinement: (arg: Output, ctx: RefinementCtx) => arg is RefinedOutput): ZodEffects<this, RefinedOutput, Input>; superRefine(refinement: (arg: Output, ctx: RefinementCtx) => void): ZodEffects<this, Output, Input>; superRefine(refinement: (arg: Output, ctx: RefinementCtx) => Promise<void>): ZodEffects<this, Output, Input>; constructor(def: Def); optional(): ZodOptional<this>; nullable(): ZodNullable<this>; nullish(): ZodOptional<ZodNullable<this>>; array(): ZodArray<this>; promise(): ZodPromise<this>; or<T extends ZodTypeAny>(option: T): ZodUnion<[this, T]>; and<T extends ZodTypeAny>(incoming: T): ZodIntersection<this, T>; transform<NewOut>(transform: (arg: Output, ctx: RefinementCtx) => NewOut | Promise<NewOut>): ZodEffects<this, NewOut>; default(def: util.noUndefined<Input>): ZodDefault<this>; default(def: () => util.noUndefined<Input>): ZodDefault<this>; brand<B extends string | number | symbol>(brand?: B): ZodBranded<this, B>; catch(def: Output): ZodCatch<this>; catch(def: (ctx: { error: ZodError; input: Input; }) => Output): ZodCatch<this>; describe(description: string): this; pipe<T extends ZodTypeAny>(target: T): ZodPipeline<this, T>; readonly(): ZodReadonly<this>; isOptional(): boolean; isNullable(): boolean; } type IpVersion = 'v4' | 'v6'; type ZodStringCheck = { kind: 'min'; value: number; message?: string; } | { kind: 'max'; value: number; message?: string; } | { kind: 'length'; value: number; message?: string; } | { kind: 'email'; message?: string; } | { kind: 'url'; message?: string; } | { kind: 'emoji'; message?: string; } | { kind: 'uuid'; message?: string; } | { kind: 'nanoid'; message?: string; } | { kind: 'cuid'; message?: string; } | { kind: 'includes'; value: string; position?: number; message?: string; } | { kind: 'cuid2'; message?: string; } | { kind: 'ulid'; message?: string; } | { kind: 'startsWith'; value: string; message?: string; } | { kind: 'endsWith'; value: string; message?: string; } | { kind: 'regex'; regex: RegExp; message?: string; } | { kind: 'trim'; message?: string; } | { kind: 'toLowerCase'; message?: string; } | { kind: 'toUpperCase'; message?: string; } | { kind: 'datetime'; offset: boolean; local: boolean; precision: number | null; message?: string; } | { kind: 'date'; message?: string; } | { kind: 'time'; precision: number | null; message?: string; } | { kind: 'duration'; message?: string; } | { kind: 'ip'; version?: IpVersion; message?: string; } | { kind: 'base64'; message?: string; }; interface ZodStringDef extends ZodTypeDef { checks: ZodStringCheck[]; typeName: ZodFirstPartyTypeKind.ZodString; coerce: boolean; } declare function datetimeRegex(args: { precision?: number | null; offset?: boolean; local?: boolean; }): RegExp; declare class ZodString extends ZodType<string, ZodStringDef, string> { _parse(input: ParseInput): ParseReturnType<string>; protected _regex(regex: RegExp, validation: StringValidation, message?: errorUtil.ErrMessage): ZodEffects<this, string, string>; _addCheck(check: ZodStringCheck): ZodString; email(message?: errorUtil.ErrMessage): ZodString; url(message?: errorUtil.ErrMessage): ZodString; emoji(message?: errorUtil.ErrMessage): ZodString; uuid(message?: errorUtil.ErrMessage): ZodString; nanoid(message?: errorUtil.ErrMessage): ZodString; cuid(message?: errorUtil.ErrMessage): ZodString; cuid2(message?: errorUtil.ErrMessage): ZodString; ulid(message?: errorUtil.ErrMessage): ZodString; base64(message?: errorUtil.ErrMessage): ZodString; ip(options?: string | { version?: 'v4' | 'v6'; message?: string; }): ZodString; datetime(options?: string | { message?: string | undefined; precision?: number | null; offset?: boolean; local?: boolean; }): ZodString; date(message?: string): ZodString; time(options?: string | { message?: string | undefined; precision?: number | null; }): ZodString; duration(message?: errorUtil.ErrMessage): ZodString; regex(regex: RegExp, message?: errorUtil.ErrMessage): ZodString; includes(value: string, options?: { message?: string; position?: number; }): ZodString; startsWith(value: string, message?: errorUtil.ErrMessage): ZodString; endsWith(value: string, message?: errorUtil.ErrMessage): ZodString; min(minLength: number, message?: errorUtil.ErrMessage): ZodString; max(maxLength: number, message?: errorUtil.ErrMessage): ZodString; length(len: number, message?: errorUtil.ErrMessage): ZodString; /** * @deprecated Use z.string().min(1) instead. * @see {@link ZodString.min} */ nonempty(message?: errorUtil.ErrMessage): ZodString; trim(): ZodString; toLowerCase(): ZodString; toUpperCase(): ZodString; get isDatetime(): boolean; get isDate(): boolean; get isTime(): boolean; get isDuration(): boolean; get isEmail(): boolean; get isURL(): boolean; get isEmoji(): boolean; get isUUID(): boolean; get isNANOID(): boolean; get isCUID(): boolean; get isCUID2(): boolean; get isULID(): boolean; get isIP(): boolean; get isBase64(): boolean; get minLength(): number | null; get maxLength(): number | null; static create: (params?: RawCreateParams & { coerce?: true; }) => ZodString; } type ZodNumberCheck = { kind: 'min'; value: number; inclusive: boolean; message?: string; } | { kind: 'max'; value: number; inclusive: boolean; message?: string; } | { kind: 'int'; message?: string; } | { kind: 'multipleOf'; value: number; message?: string; } | { kind: 'finite'; message?: string; }; interface ZodNumberDef extends ZodTypeDef { checks: ZodNumberCheck[]; typeName: ZodFirstPartyTypeKind.ZodNumber; coerce: boolean; } declare class ZodNumber extends ZodType<number, ZodNumberDef, number> { _parse(input: ParseInput): ParseReturnType<number>; static create: (params?: RawCreateParams & { coerce?: boolean; }) => ZodNumber; gte(value: number, message?: errorUtil.ErrMessage): ZodNumber; min: (value: number, message?: errorUtil.ErrMessage) => ZodNumber; gt(value: number, message?: errorUtil.ErrMessage): ZodNumber; lte(value: number, message?: errorUtil.ErrMessage): ZodNumber; max: (value: number, message?: errorUtil.ErrMessage) => ZodNumber; lt(value: number, message?: errorUtil.ErrMessage): ZodNumber; protected setLimit(kind: 'min' | 'max', value: number, inclusive: boolean, message?: string): ZodNumber; _addCheck(check: ZodNumberCheck): ZodNumber; int(message?: errorUtil.ErrMessage): ZodNumber; positive(message?: errorUtil.ErrMessage): ZodNumber; negative(message?: errorUtil.ErrMessage): ZodNumber; nonpositive(message?: errorUtil.ErrMessage): ZodNumber; nonnegative(message?: errorUtil.ErrMessage): ZodNumber; multipleOf(value: number, message?: errorUtil.ErrMessage): ZodNumber; step: (value: number, message?: errorUtil.ErrMessage) => ZodNumber; finite(message?: errorUtil.ErrMessage): ZodNumber; safe(message?: errorUtil.ErrMessage): ZodNumber; get minValue(): number | null; get maxValue(): number | null; get isInt(): boolean; get isFinite(): boolean; } type ZodBigIntCheck = { kind: 'min'; value: bigint; inclusive: boolean; message?: string; } | { kind: 'max'; value: bigint; inclusive: boolean; message?: string; } | { kind: 'multipleOf'; value: bigint; message?: string; }; interface ZodBigIntDef extends ZodTypeDef { checks: ZodBigIntCheck[]; typeName: ZodFirstPartyTypeKind.ZodBigInt; coerce: boolean; } declare class ZodBigInt extends ZodType<bigint, ZodBigIntDef, bigint> { _parse(input: ParseInput): ParseReturnType<bigint>; static create: (params?: RawCreateParams & { coerce?: boolean; }) => ZodBigInt; gte(value: bigint, message?: errorUtil.ErrMessage): ZodBigInt; min: (value: bigint, message?: errorUtil.ErrMessage) => ZodBigInt; gt(value: bigint, message?: errorUtil.ErrMessage): ZodBigInt; lte(value: bigint, message?: errorUtil.ErrMessage): ZodBigInt; max: (value: bigint, message?: errorUtil.ErrMessage) => ZodBigInt; lt(value: bigint, message?: errorUtil.ErrMessage): ZodBigInt; protected setLimit(kind: 'min' | 'max', value: bigint, inclusive: boolean, message?: string): ZodBigInt; _addCheck(check: ZodBigIntCheck): ZodBigInt; positive(message?: errorUtil.ErrMessage): ZodBigInt; negative(message?: errorUtil.ErrMessage): ZodBigInt; nonpositive(message?: errorUtil.ErrMessage): ZodBigInt; nonnegative(message?: errorUtil.ErrMessage): ZodBigInt; multipleOf(value: bigint, message?: errorUtil.ErrMessage): ZodBigInt; get minValue(): bigint | null; get maxValue(): bigint | null; } interface ZodBooleanDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodBoolean; coerce: boolean; } declare class ZodBoolean extends ZodType<boolean, ZodBooleanDef, boolean> { _parse(input: ParseInput): ParseReturnType<boolean>; static create: (params?: RawCreateParams & { coerce?: boolean; }) => ZodBoolean; } type ZodDateCheck = { kind: 'min'; value: number; message?: string; } | { kind: 'max'; value: number; message?: string; }; interface ZodDateDef extends ZodTypeDef { checks: ZodDateCheck[]; coerce: boolean; typeName: ZodFirstPartyTypeKind.ZodDate; } declare class ZodDate extends ZodType<Date, ZodDateDef, Date> { _parse(input: ParseInput): ParseReturnType<this['_output']>; _addCheck(check: ZodDateCheck): ZodDate; min(minDate: Date, message?: errorUtil.ErrMessage): ZodDate; max(maxDate: Date, message?: errorUtil.ErrMessage): ZodDate; get minDate(): Date | null; get maxDate(): Date | null; static create: (params?: RawCreateParams & { coerce?: boolean; }) => ZodDate; } interface ZodSymbolDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodSymbol; } declare class ZodSymbol extends ZodType<symbol, ZodSymbolDef, symbol> { _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: (params?: RawCreateParams) => ZodSymbol; } interface ZodUndefinedDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodUndefined; } declare class ZodUndefined extends ZodType<undefined, ZodUndefinedDef, undefined> { _parse(input: ParseInput): ParseReturnType<this['_output']>; params?: RawCreateParams; static create: (params?: RawCreateParams) => ZodUndefined; } interface ZodNullDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodNull; } declare class ZodNull extends ZodType<null, ZodNullDef, null> { _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: (params?: RawCreateParams) => ZodNull; } interface ZodAnyDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodAny; } declare class ZodAny extends ZodType<any, ZodAnyDef, any> { _any: true; _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: (params?: RawCreateParams) => ZodAny; } interface ZodUnknownDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodUnknown; } declare class ZodUnknown extends ZodType<unknown, ZodUnknownDef, unknown> { _unknown: true; _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: (params?: RawCreateParams) => ZodUnknown; } interface ZodNeverDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodNever; } declare class ZodNever extends ZodType<never, ZodNeverDef, never> { _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: (params?: RawCreateParams) => ZodNever; } interface ZodVoidDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodVoid; } declare class ZodVoid extends ZodType<void, ZodVoidDef, void> { _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: (params?: RawCreateParams) => ZodVoid; } interface ZodArrayDef<T extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { type: T; typeName: ZodFirstPartyTypeKind.ZodArray; exactLength: { value: number; message?: string; } | null; minLength: { value: number; message?: string; } | null; maxLength: { value: number; message?: string; } | null; } type ArrayCardinality = 'many' | 'atleastone'; type arrayOutputType<T extends ZodTypeAny, Cardinality extends ArrayCardinality = 'many'> = Cardinality extends 'atleastone' ? [T['_output'], ...T['_output'][]] : T['_output'][]; declare class ZodArray<T extends ZodTypeAny, Cardinality extends ArrayCardinality = 'many'> extends ZodType<arrayOutputType<T, Cardinality>, ZodArrayDef<T>, Cardinality extends 'atleastone' ? [T['_input'], ...T['_input'][]] : T['_input'][]> { _parse(input: ParseInput): ParseReturnType<this['_output']>; get element(): T; min(minLength: number, message?: errorUtil.ErrMessage): this; max(maxLength: number, message?: errorUtil.ErrMessage): this; length(len: number, message?: errorUtil.ErrMessage): this; nonempty(message?: errorUtil.ErrMessage): ZodArray<T, 'atleastone'>; static create: <T extends ZodTypeAny>(schema: T_1, params?: RawCreateParams) => ZodArray<T_1>; } type ZodNonEmptyArray<T extends ZodTypeAny> = ZodArray<T, 'atleastone'>; type UnknownKeysParam = 'passthrough' | 'strict' | 'strip'; interface ZodObjectDef<T extends ZodRawShape = ZodRawShape, UnknownKeys extends UnknownKeysParam = UnknownKeysParam, Catchall extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodObject; shape: () => T; catchall: Catchall; unknownKeys: UnknownKeys; } type mergeTypes<A, B> = { [k in keyof A | keyof B]: k extends keyof B ? B[k] : k extends keyof A ? A[k] : never; }; type objectOutputType<Shape extends ZodRawShape, Catchall extends ZodTypeAny, UnknownKeys extends UnknownKeysParam = UnknownKeysParam> = objectUtil.flatten<objectUtil.addQuestionMarks<baseObjectOutputType<Shape>>> & CatchallOutput<Catchall> & PassthroughType<UnknownKeys>; type baseObjectOutputType<Shape extends ZodRawShape> = { [k in keyof Shape]: Shape[k]['_output']; }; type objectInputType<Shape extends ZodRawShape, Catchall extends ZodTypeAny, UnknownKeys extends UnknownKeysParam = UnknownKeysParam> = objectUtil.flatten<baseObjectInputType<Shape>> & CatchallInput<Catchall> & PassthroughType<UnknownKeys>; type baseObjectInputType<Shape extends ZodRawShape> = objectUtil.addQuestionMarks<{ [k in keyof Shape]: Shape[k]['_input']; }>; type CatchallOutput<T extends ZodType> = ZodType extends T ? unknown : { [k: string]: T['_output']; }; type CatchallInput<T extends ZodType> = ZodType extends T ? unknown : { [k: string]: T['_input']; }; type PassthroughType<T extends UnknownKeysParam> = T extends 'passthrough' ? { [k: string]: unknown; } : unknown; type deoptional<T extends ZodTypeAny> = T extends ZodOptional<infer U> ? deoptional<U> : T extends ZodNullable<infer U> ? ZodNullable<deoptional<U>> : T; type SomeZodObject = ZodObject<ZodRawShape, UnknownKeysParam, ZodTypeAny>; type noUnrecognized<Obj extends object, Shape extends object> = { [k in keyof Obj]: k extends keyof Shape ? Obj[k] : never; }; declare class ZodObject<T extends ZodRawShape, UnknownKeys extends UnknownKeysParam = UnknownKeysParam, Catchall extends ZodTypeAny = ZodTypeAny, Output = objectOutputType<T, Catchall, UnknownKeys>, Input = objectInputType<T, Catchall, UnknownKeys>> extends ZodType<Output, ZodObjectDef<T, UnknownKeys, Catchall>, Input> { private _cached; _getCached(): { shape: T; keys: string[]; }; _parse(input: ParseInput): ParseReturnType<this['_output']>; get shape(): T; strict(message?: errorUtil.ErrMessage): ZodObject<T, 'strict', Catchall>; strip(): ZodObject<T, 'strip', Catchall>; passthrough(): ZodObject<T, 'passthrough', Catchall>; /** * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped. * If you want to pass through unknown properties, use `.passthrough()` instead. */ nonstrict: () => ZodObject<T, "passthrough", Catchall>; extend<Augmentation extends ZodRawShape>(augmentation: Augmentation): ZodObject<objectUtil.extendShape<T, Augmentation>, UnknownKeys, Catchall>; /** * @deprecated Use `.extend` instead * */ augment: <Augmentation extends ZodRawShape>(augmentation: Augmentation) => ZodObject<objectUtil.extendShape<T, Augmentation>, UnknownKeys, Catchall>; /** * Prior to zod@1.0.12 there was a bug in the * inferred type of merged objects. Please * upgrade if you are experiencing issues. */ merge<Incoming extends AnyZodObject, Augmentation extends Incoming['shape']>(merging: Incoming): ZodObject<objectUtil.extendShape<T, Augmentation>, Incoming['_def']['unknownKeys'], Incoming['_def']['catchall']>; setKey<Key extends string, Schema extends ZodTypeAny>(key: Key, schema: Schema): ZodObject<T & { [k in Key]: Schema; }, UnknownKeys, Catchall>; catchall<Index extends ZodTypeAny>(index: Index): ZodObject<T, UnknownKeys, Index>; pick<Mask extends util.Exactly<{ [k in keyof T]?: true; }, Mask>>(mask: Mask): ZodObject<Pick<T, Extract<keyof T, keyof Mask>>, UnknownKeys, Catchall>; omit<Mask extends util.Exactly<{ [k in keyof T]?: true; }, Mask>>(mask: Mask): ZodObject<Omit<T, keyof Mask>, UnknownKeys, Catchall>; /** * @deprecated */ deepPartial(): partialUtil.DeepPartial<this>; partial(): ZodObject<{ [k in keyof T]: ZodOptional<T[k]>; }, UnknownKeys, Catchall>; partial<Mask extends util.Exactly<{ [k in keyof T]?: true; }, Mask>>(mask: Mask): ZodObject<objectUtil.noNever<{ [k in keyof T]: k extends keyof Mask ? ZodOptional<T[k]> : T[k]; }>, UnknownKeys, Catchall>; required(): ZodObject<{ [k in keyof T]: deoptional<T[k]>; }, UnknownKeys, Catchall>; required<Mask extends util.Exactly<{ [k in keyof T]?: true; }, Mask>>(mask: Mask): ZodObject<objectUtil.noNever<{ [k in keyof T]: k extends keyof Mask ? deoptional<T[k]> : T[k]; }>, UnknownKeys, Catchall>; keyof(): ZodEnum<enumUtil.UnionToTupleString<keyof T>>; static create: <T extends ZodRawShape>(shape: T_1, params?: RawCreateParams) => ZodObject<T_1, "strip", ZodTypeAny, objectOutputType<T_1, ZodTypeAny, "strip">, objectInputType<T_1, ZodTypeAny, "strip">>; static strictCreate: <T extends ZodRawShape>(shape: T_1, params?: RawCreateParams) => ZodObject<T_1, "strict">; static lazycreate: <T extends ZodRawShape>(shape: () => T_1, params?: RawCreateParams) => ZodObject<T_1, "strip">; } type AnyZodObject = ZodObject<any, any, any>; type ZodUnionOptions = Readonly<[ZodTypeAny, ...ZodTypeAny[]]>; interface ZodUnionDef<T extends ZodUnionOptions = Readonly<[ZodTypeAny, ZodTypeAny, ...ZodTypeAny[]]>> extends ZodTypeDef { options: T; typeName: ZodFirstPartyTypeKind.ZodUnion; } declare class ZodUnion<T extends ZodUnionOptions> extends ZodType<T[number]['_output'], ZodUnionDef<T>, T[number]['_input']> { _parse(input: ParseInput): ParseReturnType<this['_output']>; get options(): T; static create: <T extends Readonly<[ZodTypeAny, ZodTypeAny, ...ZodTypeAny[]]>>(types: T_1, params?: RawCreateParams) => ZodUnion<T_1>; } type ZodDiscriminatedUnionOption<Discriminator extends string> = ZodObject<{ [key in Discriminator]: ZodTypeAny; } & ZodRawShape, UnknownKeysParam, ZodTypeAny>; interface ZodDiscriminatedUnionDef<Discriminator extends string, Options extends ZodDiscriminatedUnionOption<string>[] = ZodDiscriminatedUnionOption<string>[]> extends ZodTypeDef { discriminator: Discriminator; options: Options; optionsMap: Map<Primitive, ZodDiscriminatedUnionOption<any>>; typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion; } declare class ZodDiscriminatedUnion<Discriminator extends string, Options extends ZodDiscriminatedUnionOption<Discriminator>[]> extends ZodType<output<Options[number]>, ZodDiscriminatedUnionDef<Discriminator, Options>, input<Options[number]>> { _parse(input: ParseInput): ParseReturnType<this['_output']>; get discriminator(): Discriminator; get options(): Options; get optionsMap(): Map<Primitive, ZodDiscriminatedUnionOption<any>>; /** * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor. * However, it only allows a union of objects, all of which need to share a discriminator property. This property must * have a different value for each object in the union. * @param discriminator the name of the discriminator property * @param types an array of object schemas * @param params */ static create<Discriminator extends string, Types extends [ZodDiscriminatedUnionOption<Discriminator>, ...ZodDiscriminatedUnionOption<Discriminator>[]]>(discriminator: Discriminator, options: Types, params?: RawCreateParams): ZodDiscriminatedUnion<Discriminator, Types>; } interface ZodIntersectionDef<T extends ZodTypeAny = ZodTypeAny, U extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { left: T; right: U; typeName: ZodFirstPartyTypeKind.ZodIntersection; } declare class ZodIntersection<T extends ZodTypeAny, U extends ZodTypeAny> extends ZodType<T['_output'] & U['_output'], ZodIntersectionDef<T, U>, T['_input'] & U['_input']> { _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: <T extends ZodTypeAny, U extends ZodTypeAny>(left: T_1, right: U_1, params?: RawCreateParams) => ZodIntersection<T_1, U_1>; } type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]]; type AssertArray<T> = T extends any[] ? T : never; type OutputTypeOfTuple<T extends ZodTupleItems | []> = AssertArray<{ [k in keyof T]: T[k] extends ZodType<any, any, any> ? T[k]['_output'] : never; }>; type OutputTypeOfTupleWithRest<T extends ZodTupleItems | [], Rest extends ZodTypeAny | null = null> = Rest extends ZodTypeAny ? [...OutputTypeOfTuple<T>, ...Rest['_output'][]] : OutputTypeOfTuple<T>; type InputTypeOfTuple<T extends ZodTupleItems | []> = AssertArray<{ [k in keyof T]: T[k] extends ZodType<any, any, any> ? T[k]['_input'] : never; }>; type InputTypeOfTupleWithRest<T extends ZodTupleItems | [], Rest extends ZodTypeAny | null = null> = Rest extends ZodTypeAny ? [...InputTypeOfTuple<T>, ...Rest['_input'][]] : InputTypeOfTuple<T>; interface ZodTupleDef<T extends ZodTupleItems | [] = ZodTupleItems, Rest extends ZodTypeAny | null = null> extends ZodTypeDef { items: T; rest: Rest; typeName: ZodFirstPartyTypeKind.ZodTuple; } type AnyZodTuple = ZodTuple<[ZodTypeAny, ...ZodTypeAny[]] | [], ZodTypeAny | null>; declare class ZodTuple<T extends [ZodTypeAny, ...ZodTypeAny[]] | [] = [ZodTypeAny, ...ZodTypeAny[]], Rest extends ZodTypeAny | null = null> extends ZodType<OutputTypeOfTupleWithRest<T, Rest>, ZodTupleDef<T, Rest>, InputTypeOfTupleWithRest<T, Rest>> { _parse(input: ParseInput): ParseReturnType<this['_output']>; get items(): T; rest<Rest extends ZodTypeAny>(rest: Rest): ZodTuple<T, Rest>; static create: <T extends [ZodTypeAny, ...ZodTypeAny[]] | []>(schemas: T_1, params?: RawCreateParams) => ZodTuple<T_1, null>; } interface ZodRecordDef<Key extends KeySchema = ZodString, Value extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { valueType: Value; keyType: Key; typeName: ZodFirstPartyTypeKind.ZodRecord; } type KeySchema = ZodType<string | number | symbol, any, any>; type RecordType<K extends string | number | symbol, V> = [string] extends [K] ? Record<K, V> : [number] extends [K] ? Record<K, V> : [symbol] extends [K] ? Record<K, V> : [BRAND<string | number | symbol>] extends [K] ? Record<K, V> : Partial<Record<K, V>>; declare class ZodRecord<Key extends KeySchema = ZodString, Value extends ZodTypeAny = ZodTypeAny> extends ZodType<RecordType<Key['_output'], Value['_output']>, ZodRecordDef<Key, Value>, RecordType<Key['_input'], Value['_input']>> { get keySchema(): Key; get valueSchema(): Value; _parse(input: ParseInput): ParseReturnType<this['_output']>; get element(): Value; static create<Value extends ZodTypeAny>(valueType: Value, params?: RawCreateParams): ZodRecord<ZodString, Value>; static create<Keys extends KeySchema, Value extends ZodTypeAny>(keySchema: Keys, valueType: Value, params?: RawCreateParams): ZodRecord<Keys, Value>; } interface ZodMapDef<Key extends ZodTypeAny = ZodTypeAny, Value extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { valueType: Value; keyType: Key; typeName: ZodFirstPartyTypeKind.ZodMap; } declare class ZodMap<Key extends ZodTypeAny = ZodTypeAny, Value extends ZodTypeAny = ZodTypeAny> extends ZodType<Map<Key['_output'], Value['_output']>, ZodMapDef<Key, Value>, Map<Key['_input'], Value['_input']>> { get keySchema(): Key; get valueSchema(): Value; _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: <Key extends ZodTypeAny = ZodTypeAny, Value extends ZodTypeAny = ZodTypeAny>(keyType: Key_1, valueType: Value_1, params?: RawCreateParams) => ZodMap<Key_1, Value_1>; } interface ZodSetDef<Value extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { valueType: Value; typeName: ZodFirstPartyTypeKind.ZodSet; minSize: { value: number; message?: string; } | null; maxSize: { value: number; message?: string; } | null; } declare class ZodSet<Value extends ZodTypeAny = ZodTypeAny> extends ZodType<Set<Value['_output']>, ZodSetDef<Value>, Set<Value['_input']>> { _parse(input: ParseInput): ParseReturnType<this['_output']>; min(minSize: number, message?: errorUtil.ErrMessage): this; max(maxSize: number, message?: errorUtil.ErrMessage): this; size(size: number, message?: errorUtil.ErrMessage): this; nonempty(message?: errorUtil.ErrMessage): ZodSet<Value>; static create: <Value extends ZodTypeAny = ZodTypeAny>(valueType: Value_1, params?: RawCreateParams) => ZodSet<Value_1>; } interface ZodFunctionDef<Args extends ZodTuple<any, any> = ZodTuple<any, any>, Returns extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { args: Args; returns: Returns; typeName: ZodFirstPartyTypeKind.ZodFunction; } type OuterTypeOfFunction<Args extends ZodTuple<any, any>, Returns extends ZodTypeAny> = Args['_input'] extends Array<any> ? (...args: Args['_input']) => Returns['_output'] : never; type InnerTypeOfFunction<Args extends ZodTuple<any, any>, Returns extends ZodTypeAny> = Args['_output'] extends Array<any> ? (...args: Args['_output']) => Returns['_input'] : never; declare class ZodFunction<Args extends ZodTuple<any, any>, Returns extends ZodTypeAny> extends ZodType<OuterTypeOfFunction<Args, Returns>, ZodFunctionDef<Args, Returns>, InnerTypeOfFunction<Args, Returns>> { _parse(input: ParseInput): ParseReturnType<any>; parameters(): Args; returnType(): Returns; args<Items extends Parameters<(typeof ZodTuple)['create']>[0]>(...items: Items): ZodFunction<ZodTuple<Items, ZodUnknown>, Returns>; returns<NewReturnType extends ZodType<any, any, any>>(returnType: NewReturnType): ZodFunction<Args, NewReturnType>; implement<F extends InnerTypeOfFunction<Args, Returns>>(func: F): ReturnType<F> extends Returns['_output'] ? (...args: Args['_input']) => ReturnType<F> : OuterTypeOfFunction<Args, Returns>; strictImplement(func: InnerTypeOfFunction<Args, Returns>): InnerTypeOfFunction<Args, Returns>; validate: <F extends InnerTypeOfFunction<Args, Returns>>(func: F) => ReturnType<F> extends Returns["_output"] ? (...args: Args["_input"]) => ReturnType<F> : OuterTypeOfFunction<Args, Returns>; static create(): ZodFunction<ZodTuple<[], ZodUnknown>, ZodUnknown>; static create<T extends AnyZodTuple = ZodTuple<[], ZodUnknown>>(args: T): ZodFunction<T, ZodUnknown>; static create<T extends AnyZodTuple, U extends ZodTypeAny>(args: T, returns: U): ZodFunction<T, U>; static create<T extends AnyZodTuple = ZodTuple<[], ZodUnknown>, U extends ZodTypeAny = ZodUnknown>(args: T, returns: U, params?: RawCreateParams): ZodFunction<T, U>; } interface ZodLazyDef<T extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { getter: () => T; typeName: ZodFirstPartyTypeKind.ZodLazy; } declare class ZodLazy<T extends ZodTypeAny> extends ZodType<output<T>, ZodLazyDef<T>, input<T>> { get schema(): T; _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: <T extends ZodTypeAny>(getter: () => T_1, params?: RawCreateParams) => ZodLazy<T_1>; } interface ZodLiteralDef<T = any> extends ZodTypeDef { value: T; typeName: ZodFirstPartyTypeKind.ZodLiteral; } declare class ZodLiteral<T> extends ZodType<T, ZodLiteralDef<T>, T> { _parse(input: ParseInput): ParseReturnType<this['_output']>; get value(): T; static create: <T extends Primitive>(value: T_1, params?: RawCreateParams) => ZodLiteral<T_1>; } type ArrayKeys = keyof any[]; type Indices<T> = Exclude<keyof T, ArrayKeys>; type EnumValues<T extends string = string> = readonly [T, ...T[]]; type Values<T extends EnumValues> = { [k in T[number]]: k; }; interface ZodEnumDef<T extends EnumValues = EnumValues> extends ZodTypeDef { values: T; typeName: ZodFirstPartyTypeKind.ZodEnum; } type Writeable<T> = { -readonly [P in keyof T]: T[P]; }; type FilterEnum<Values, ToExclude> = Values extends [] ? [] : Values extends [infer Head, ...infer Rest] ? Head extends ToExclude ? FilterEnum<Rest, ToExclude> : [Head, ...FilterEnum<Rest, ToExclude>] : never; type typecast<A, T> = A extends T ? A : never; declare function createZodEnum<U extends string, T extends Readonly<[U, ...U[]]>>(values: T, params?: RawCreateParams): ZodEnum<Writeable<T>>; declare function createZodEnum<U extends string, T extends [U, ...U[]]>(values: T, params?: RawCreateParams): ZodEnum<T>; declare class ZodEnum<T extends [string, ...string[]]> extends ZodType<T[number], ZodEnumDef<T>, T[number]> { #private; _parse(input: ParseInput): ParseReturnType<this['_output']>; get options(): T; get enum(): Values<T>; get Values(): Values<T>; get Enum(): Values<T>; extract<ToExtract extends readonly [T[number], ...T[number][]]>(values: ToExtract, newDef?: RawCreateParams): ZodEnum<Writeable<ToExtract>>; exclude<ToExclude extends readonly [T[number], ...T[number][]]>(values: ToExclude, newDef?: RawCreateParams): ZodEnum<typecast<Writeable<FilterEnum<T, ToExclude[number]>>, [string, ...string[]]>>; static create: typeof createZodEnum; } interface ZodNativeEnumDef<T extends EnumLike = EnumLike> extends ZodTypeDef { values: T; typeName: ZodFirstPartyTypeKind.ZodNativeEnum; } type EnumLike = { [k: string]: string | number; [nu: number]: string; }; declare class ZodNativeEnum<T extends EnumLike> extends ZodType<T[keyof T], ZodNativeEnumDef<T>, T[keyof T]> { #private; _parse(input: ParseInput): ParseReturnType<T[keyof T]>; get enum(): T; static create: <T extends EnumLike>(values: T_1, params?: RawCreateParams) => ZodNativeEnum<T_1>; } interface ZodPromiseDef<T extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { type: T; typeName: ZodFirstPartyTypeKind.ZodPromise; } declare class ZodPromise<T extends ZodTypeAny> extends ZodType<Promise<T['_output']>, ZodPromiseDef<T>, Promise<T['_input']>> { unwrap(): T; _parse(input: ParseInput): ParseReturnType<this['_output']>; static create: <T extends ZodTypeAny>(schema: T_1, params?: RawCreateParams) => ZodPromise<T_1>; } type Refinement<T> = (arg: T, ctx: RefinementCtx) => any; type SuperRefinement<T> = (arg: T, ctx: RefinementCtx) => void | Promise<void>; type RefinementEffect<T> = { type: 'refinement'; refinement: (arg: T, ctx: RefinementCtx) => any; }; type TransformEffect<T> = { type: 'transform'; transform: (arg: T, ctx: RefinementCtx) => any; }; type PreprocessEffect<T> = { type: 'preprocess'; transform: (arg: T, ctx: RefinementCtx) => any; }; type Effect<T> = RefinementEffect<T> | TransformEffect<T> | PreprocessEffect<T>; interface ZodEffectsDef<T extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { schema: T; typeName: ZodFirstPartyTypeKind.ZodEffects; effect: Effect<any>; } declare class ZodEffects<T extends Zo