import { ToolArguments } from "../types/index.js";
export interface ValidationError {
    field: string;
    message: string;
    value?: any;
}
export interface ValidationResult {
    isValid: boolean;
    errors: ValidationError[];
    sanitizedArgs?: ToolArguments;
}
export declare class ValidationMiddleware {
    static validateIMO(imo: any): ValidationError | null;
    static validateDateRange(startDate?: string, endDate?: string): ValidationError[];
    static validateString(value: any, fieldName: string, options?: {
        required?: boolean;
        minLength?: number;
        maxLength?: number;
        pattern?: RegExp;
    }): ValidationError | null;
    static validateNumber(value: any, fieldName: string, options?: {
        required?: boolean;
        min?: number;
        max?: number;
        integer?: boolean;
    }): ValidationError | null;
    static validateArray(value: any, fieldName: string, options?: {
        required?: boolean;
        minItems?: number;
        maxItems?: number;
        itemValidator?: (item: any, index: number) => ValidationError | null;
    }): ValidationError[];
    static validateToolArguments(toolName: string, args: ToolArguments): ValidationResult;
    private static sanitizeArguments;
}
