import { ZodParsedType } from "./helpers/parseUtil"; import { Primitive } from "./helpers/typeAliases"; import { util } from "./helpers/util"; export 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"; }; export declare type ZodIssueCode = keyof typeof ZodIssueCode; export declare type ZodIssueBase = { path: (string | number)[]; message?: string; }; export interface ZodInvalidTypeIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_type; expected: ZodParsedType; received: ZodParsedType; } export interface ZodInvalidLiteralIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_literal; expected: unknown; } export interface ZodUnrecognizedKeysIssue extends ZodIssueBase { code: typeof ZodIssueCode.unrecognized_keys; keys: string[]; } export interface ZodInvalidUnionIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_union; unionErrors: ZodError[]; } export interface ZodInvalidUnionDiscriminatorIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_union_discriminator; options: Primitive[]; } export interface ZodInvalidEnumValueIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_enum_value; options: (string | number)[]; } export interface ZodInvalidArgumentsIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_arguments; argumentsError: ZodError; } export interface ZodInvalidReturnTypeIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_return_type; returnTypeError: ZodError; } export interface ZodInvalidDateIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_date; } export declare type StringValidation = "email" | "url" | "uuid" | "regex" | "cuid"; export interface ZodInvalidStringIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_string; validation: StringValidation; } export interface ZodTooSmallIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_small; minimum: number; inclusive: boolean; type: "array" | "string" | "number" | "set"; } export interface ZodTooBigIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_big; maximum: number; inclusive: boolean; type: "array" | "string" | "number" | "set"; } export interface ZodInvalidIntersectionTypesIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_intersection_types; } export interface ZodNotMultipleOfIssue extends ZodIssueBase { code: typeof ZodIssueCode.not_multiple_of; multipleOf: number; } export interface ZodCustomIssue extends ZodIssueBase { code: typeof ZodIssueCode.custom; params?: { [k: string]: any; }; } export declare type DenormalizedError = { [k: string]: DenormalizedError | string[]; }; export declare type ZodIssueOptionalMessage = ZodInvalidTypeIssue | ZodInvalidLiteralIssue | ZodUnrecognizedKeysIssue | ZodInvalidUnionIssue | ZodInvalidUnionDiscriminatorIssue | ZodInvalidEnumValueIssue | ZodInvalidArgumentsIssue | ZodInvalidReturnTypeIssue | ZodInvalidDateIssue | ZodInvalidStringIssue | ZodTooSmallIssue | ZodTooBigIssue | ZodInvalidIntersectionTypesIssue | ZodNotMultipleOfIssue | ZodCustomIssue; export declare type ZodIssue = ZodIssueOptionalMessage & { message: string; }; export declare const quotelessJson: (obj: any) => string; export declare type ZodFormattedError = { _errors: string[]; } & (T extends [any, ...any[]] ? { [K in keyof T]?: ZodFormattedError; } : T extends any[] ? ZodFormattedError[] : T extends object ? { [K in keyof T]?: ZodFormattedError; } : unknown); export declare class ZodError extends Error { issues: ZodIssue[]; get errors(): ZodIssue[]; constructor(issues: ZodIssue[]); format: () => ZodFormattedError; static create: (issues: ZodIssue[]) => ZodError; toString(): string; get message(): string; get isEmpty(): boolean; addIssue: (sub: ZodIssue) => void; addIssues: (subs?: ZodIssue[]) => void; flatten(mapper?: (issue: ZodIssue) => string): { formErrors: string[]; fieldErrors: { [k: string]: string[]; }; }; flatten(mapper?: (issue: ZodIssue) => U): { formErrors: U[]; fieldErrors: { [k: string]: U[]; }; }; get formErrors(): { formErrors: string[]; fieldErrors: { [k: string]: string[]; }; }; } declare type stripPath = T extends any ? util.OmitKeys : never; export declare type IssueData = stripPath & { path?: (string | number)[]; fatal?: boolean; }; export declare type MakeErrorData = IssueData; declare type ErrorMapCtx = { defaultError: string; data: any; }; export declare type ZodErrorMap = typeof defaultErrorMap; export declare const defaultErrorMap: (issue: ZodIssueOptionalMessage, _ctx: ErrorMapCtx) => { message: string; }; export declare let overrideErrorMap: (issue: ZodIssueOptionalMessage, _ctx: ErrorMapCtx) => { message: string; }; export declare const setErrorMap: (map: ZodErrorMap) => void; export {};