import type { IssueData, ZodErrorMap, ZodIssue } from "../ZodError.cjs"; import type { ZodParsedType } from "./util.cjs"; export declare const makeIssue: (params: { data: any; path: (string | number)[]; errorMaps: ZodErrorMap[]; issueData: IssueData; }) => ZodIssue; export type ParseParams = { path: (string | number)[]; errorMap: ZodErrorMap; async: boolean; }; export type ParsePathComponent = string | number; export type ParsePath = ParsePathComponent[]; export declare const EMPTY_PATH: ParsePath; export interface ParseContext { readonly common: { readonly issues: ZodIssue[]; readonly contextualErrorMap?: ZodErrorMap | undefined; readonly async: boolean; }; readonly path: ParsePath; readonly schemaErrorMap?: ZodErrorMap | undefined; readonly parent: ParseContext | null; readonly data: any; readonly parsedType: ZodParsedType; } export type ParseInput = { data: any; path: (string | number)[]; parent: ParseContext; }; export declare function addIssueToContext(ctx: ParseContext, issueData: IssueData): void; export 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 type INVALID = { status: "aborted"; }; export declare const INVALID: INVALID; export type DIRTY = { status: "dirty"; value: T; }; export declare const DIRTY: (value: T) => DIRTY; export type OK = { status: "valid"; value: T; }; export declare const OK: (value: T) => OK; export type SyncParseReturnType = OK | DIRTY | INVALID; export type AsyncParseReturnType = Promise>; export 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; export declare const isAsync: (x: ParseReturnType) => x is AsyncParseReturnType;