/**
 * Value Validator
 *
 * Runtime validation for field values based on schema validation rules.
 * Enforces min, max, isInt, and other validation rules during create/update operations.
 */
/**
 * Validation rule interface
 */
export interface ValidationRules {
    min?: number;
    max?: number;
    isInt?: boolean;
    isEmail?: boolean;
    isUrl?: boolean;
    notEmpty?: boolean;
    len?: [number, number];
    is?: string;
    matches?: string;
}
/**
 * Validation error interface
 */
export interface ValidationError {
    field: string;
    message: string;
    value?: any;
    rule?: string;
}
/**
 * Value validator utility
 */
export declare const valueValidator: {
    /**
     * Validate data against schema validation rules
     * @param collection - Collection name
     * @param data - Data to validate
     * @param isUpdate - Whether this is an update operation (only validates provided fields)
     * @returns Array of validation errors (empty if valid)
     */
    validateData(collection: string, data: Record<string, any>, isUpdate?: boolean): Promise<ValidationError[]>;
    /**
     * Validate data and throw APIError if invalid
     * @param collection - Collection name
     * @param data - Data to validate
     * @param isUpdate - Whether this is an update operation
     * @throws APIError if validation fails
     */
    validateOrThrow(collection: string, data: Record<string, any>, isUpdate?: boolean): Promise<void>;
    /**
     * Check if a value is valid for a specific field
     * @param collection - Collection name
     * @param fieldName - Field name
     * @param value - Value to validate
     * @returns Validation errors for this field
     */
    validateField(collection: string, fieldName: string, value: any): Promise<ValidationError[]>;
};
export default valueValidator;
//# sourceMappingURL=valueValidator.d.ts.map