import type { IssueData, ZodErrorMap, ZodIssue } from "../ZodError"; import type { ZodParsedType } from "./util"; export declare const makeIssue: (params: { data: any; path: (string | number)[]; errorMaps: ZodErrorMap[]; issueData: IssueData; }) => ZodIssue; export declare type ParseParams = { path: (string | number)[]; errorMap: ZodErrorMap; async: boolean; }; export declare type ParsePathComponent = string | number; export declare type ParsePath = ParsePathComponent[]; export declare const EMPTY_PATH: ParsePath; export interface ParseContext { readonly common: { readonly issues: ZodIssue[]; readonly contextualErrorMap?: ZodErrorMap; readonly async: boolean; }; readonly path: ParsePath; readonly schemaErrorMap?: ZodErrorMap; readonly parent: ParseContext | null; readonly data: any; readonly parsedType: ZodParsedType; } export declare type ParseInput = { data: any; path: (string | number)[]; parent: ParseContext; }; export declare function addIssueToContext(ctx: ParseContext, issueData: IssueData): void; export declare type ObjectPair = { key: SyncParseReturnType; value: SyncParseReturnType; }; export declare class ParseStatus { value: "aborted" | "dirty" | "valid"; dirty(): void; abort(): void; static mergeArray(status: ParseStatus, results: SyncParseReturnType[]): SyncParseReturnType; static mergeObjectAsync(status: ParseStatus, pairs: { key: ParseReturnType; value: ParseReturnType; }[]): Promise>; static mergeObjectSync(status: ParseStatus, pairs: { key: SyncParseReturnType; value: SyncParseReturnType; alwaysSet?: boolean; }[]): SyncParseReturnType; } export interface ParseResult { status: "aborted" | "dirty" | "valid"; data: any; } export declare type INVALID = { status: "aborted"; }; export declare const INVALID: INVALID; export declare type DIRTY = { status: "dirty"; value: T; }; export declare const DIRTY: (value: T) => DIRTY; export declare type OK = { status: "valid"; value: T; }; export declare const OK: (value: T) => OK; export declare type SyncParseReturnType = OK | DIRTY | INVALID; export declare type AsyncParseReturnType = Promise>; export declare type ParseReturnType = SyncParseReturnType | AsyncParseReturnType; export declare const isAborted: (x: ParseReturnType) => x is INVALID; export declare const isDirty: (x: ParseReturnType) => x is OK | DIRTY; export declare const isValid: (x: ParseReturnType) => x is OK | DIRTY; export declare const isAsync: (x: ParseReturnType) => x is AsyncParseReturnType;