/**
 * Field Validation with Type Converter Support
 *
 * Provides shared validation logic for field values with automatic type conversion.
 */
import type { FieldDefinition } from "./schema_registry.js";
export interface ValidationResult {
    /** Converted value (or original if no conversion needed) */
    value: unknown;
    /** Whether the value should be routed to raw_fragments */
    shouldRouteToRawFragments: boolean;
    /** Whether conversion was applied */
    wasConverted: boolean;
    /** Original value before conversion (if converted) */
    originalValue?: unknown;
}
/**
 * Validate field value with converter support
 *
 * @param fieldName - Name of the field being validated
 * @param value - Value to validate
 * @param fieldDef - Field definition from schema
 * @returns Validation result with converted value and routing decision
 */
export declare function validateFieldWithConverters(fieldName: string, value: unknown, fieldDef: FieldDefinition): ValidationResult;
/**
 * Validate multiple fields against schema with converter support
 *
 * @param data - Object with field values
 * @param fields - Schema field definitions
 * @returns Separated valid fields and unknown fields
 */
export declare function validateFieldsWithConverters(data: Record<string, unknown>, fields: Record<string, FieldDefinition>): {
    validFields: Record<string, unknown>;
    unknownFields: Record<string, unknown>;
    originalValues: Record<string, unknown>;
};
//# sourceMappingURL=field_validation.d.ts.map