export interface ValidationSchema { parse(input: unknown): T; safeParse(input: unknown): { success: true; data: T; } | { success: false; error: Error; }; } export interface ValidationRule { name: string; validate: (value: T) => boolean | Promise; message: string; suggestion?: string; } export declare class Validator implements ValidationSchema { private typeName; private parseFunction?; private logger; private rules; constructor(typeName: string, parseFunction?: ((input: unknown) => T) | undefined); addRule(rule: ValidationRule): this; required(message?: string): this; string(message?: string): this; number(message?: string): this; email(message?: string): this; url(message?: string): this; min(minValue: number, message?: string): this; max(maxValue: number, message?: string): this; oneOf(values: U[], message?: string): this; custom(name: string, validate: (value: T) => boolean | Promise, message: string, suggestion?: string): this; parse(input: unknown): T; safeParse(input: unknown): { success: true; data: T; } | { success: false; error: Error; }; safeParseAsync(input: unknown): Promise<{ success: true; data: T; } | { success: false; error: Error; }>; } export declare const StringValidator: () => Validator; export declare const NumberValidator: () => Validator; export declare const EmailValidator: () => Validator; export declare const UrlValidator: () => Validator; export declare class ObjectValidator> implements ValidationSchema { private logger; private fieldValidators; private requiredFields; field(key: K, validator: ValidationSchema, required?: boolean): this; parse(input: unknown): T; safeParse(input: unknown): { success: true; data: T; } | { success: false; error: Error; }; } export declare class ArrayValidator implements ValidationSchema { private itemValidator; private minLength?; private maxLength?; private logger; constructor(itemValidator: ValidationSchema, minLength?: number | undefined, maxLength?: number | undefined); parse(input: unknown): T[]; safeParse(input: unknown): { success: true; data: T[]; } | { success: false; error: Error; }; } export declare class AgentValidator { private logger; static validateToolArgs(validator: ValidationSchema, args: unknown, toolName: string): T; static validateOutput(validator: ValidationSchema, output: unknown, retryCount?: number): T; } export declare function jsonSchemaToValidator(schema: any): ValidationSchema; //# sourceMappingURL=validation.d.ts.map