/**
 * Schema Validator - Refactored with SOLID SRP
 *
 * Single Responsibility: Orchestrate schema validation by delegating to specialized validators
 */
import { JsonSchema, SchemaValidationResult, SchemaValidationContext, SchemaValidationOptions } from '../../shared/types';
/**
 * Schema Validator - Functional Programming
 *
 * Single Responsibility: Orchestrate schema validation by delegating to pure functions
 * No state, no side effects, pure functions only
 */
export declare class SchemaValidator {
    private readonly options;
    constructor(options?: SchemaValidationOptions);
    /**
     * Validate data against a JSON schema
     */
    validate(data: any, schema: JsonSchema, context?: Partial<SchemaValidationContext>): SchemaValidationResult;
    /**
     * Validate a value against a schema - Delegates to specialized validators
     */
    private validateValue;
    /**
     * Check if required property is missing
     */
    private isRequiredPropertyMissing;
    /**
     * Check if validation should be skipped
     */
    private shouldSkipValidation;
    /**
     * Delegate validation to pure functions (SRP + Functional)
     */
    private delegateToSpecializedValidators;
    /**
     * Validate custom rules - Pure function delegation
     */
    private validateCustomRules;
}
//# sourceMappingURL=SchemaValidator.d.ts.map