import { ZodIssue } from 'zod';
export type ValidationSeverity = 'error' | 'warning';
export interface ValidationError {
    path: (string | number)[];
    message: string;
    code: string;
    suggestion?: string;
    example?: string;
}
export interface ValidationWarning {
    path: (string | number)[];
    message: string;
    code: string;
    suggestion?: string;
    example?: string;
}
export interface ValidationResult {
    valid: boolean;
    errors: ValidationError[];
    warnings: ValidationWarning[];
}
export declare function emptyResult(): ValidationResult;
export declare function mergeResults(...results: ValidationResult[]): ValidationResult;
export interface ErrorAdvisoryFields {
    suggestion?: string;
    example?: string;
}
export declare function fromZodIssues(issues: ZodIssue[], pathPrefix?: (string | number)[], enrichIssue?: (issue: ZodIssue) => ErrorAdvisoryFields | undefined): ValidationResult;
export declare function errorResult(path: (string | number)[], message: string, code: string, advisory?: ErrorAdvisoryFields): ValidationResult;
export declare function warningResult(path: (string | number)[], message: string, code: string, advisory?: ErrorAdvisoryFields): ValidationResult;
//# sourceMappingURL=errors.d.ts.map