/**
 * Input Validator
 * Comprehensive input validation and sanitization system
 */
import type { InputValidatorConfig, SanitizationOptions, ValidationResult, ValidationRule, ValidationSchema } from './types';
export declare class InputValidator {
    private config;
    private customRules;
    constructor(config?: InputValidatorConfig);
    /**
     * Validates input against a schema
     */
    validate(data: Record<string, any>, schema: ValidationSchema): ValidationResult;
    /**
     * Sanitizes a single value
     */
    sanitize(value: any, options?: SanitizationOptions): any;
    /**
     * Validates and sanitizes input for SQL injection
     */
    validateSqlInput(input: any): {
        isValid: boolean;
        sanitized: any;
        threats: string[];
    };
    /**
     * Validates path for traversal attacks
     */
    validatePath(path: string): {
        isValid: boolean;
        sanitized?: string;
        errors: string[];
    };
    /**
     * Creates a validation rule
     */
    createRule(name: string, validate: (value: any) => boolean, message: string, sanitize?: (value: any) => any): ValidationRule;
    /**
     * Gets a validation rule by name
     */
    getRule(name: string): ValidationRule | undefined;
    /**
     * Registers built-in validation rules
     */
    private registerBuiltInRules;
    /**
     * Strips HTML tags from input
     */
    private stripHtml;
    /**
     * Escapes HTML characters
     */
    private escapeHtml;
}
//# sourceMappingURL=input-validator.d.ts.map