/** * Centralized validation utilities for POLARIS framework * Eliminates duplicate validation logic across components */ import { Result } from "./result"; import { ValidationError } from "../errors/base"; /** * Validation rule function type */ export type ValidationRule = (value: T, context?: string) => Result; /** * Validation context for better error messages */ export interface ValidationContext { field?: string; component?: string; operation?: string; } /** * Common validation utilities */ export declare class Validator { /** * Validate that a value is not null or undefined */ static required(value: T | null | undefined, context?: string): Result; /** * Validate that a string is not empty */ static nonEmptyString(value: string, context?: string): Result; /** * Validate that a number is within a specific range */ static numberInRange(value: number, min: number, max: number, context?: string): Result; /** * Validate confidence score (0-1) */ static confidence(value: number, context?: string): Result; /** * Validate probability score (0-1) */ static probability(value: number, context?: string): Result; /** * Validate positive number */ static positiveNumber(value: number, context?: string): Result; /** * Validate non-negative number */ static nonNegativeNumber(value: number, context?: string): Result; /** * Validate integer */ static integer(value: number, context?: string): Result; /** * Validate array is not empty */ static nonEmptyArray(value: T[], context?: string): Result; /** * Validate enum value */ static enumValue(value: T, enumObject: Record, context?: string): Result; /** * Validate object has required properties */ static hasProperties>(obj: T, requiredProperties: (keyof T)[], context?: string): Result; /** * Validate API key format (basic check) */ static apiKey(value: string, context?: string): Result; /** * Validate URL format */ static url(value: string, context?: string): Result; /** * Combine multiple validation rules */ static combine(value: T, rules: ValidationRule[], context?: string): Result; } /** * Evaluation result validation */ export declare class EvaluationValidator { /** * Validate evaluation result structure */ static validateEvaluationResult(evaluation: any, context?: string): Result; /** * Sanitize and validate score */ static sanitizeScore(score: any, defaultValue?: number): number; /** * Sanitize and validate confidence */ static sanitizeConfidence(confidence: any, defaultValue?: number): number; } /** * Configuration validation */ export declare class ConfigValidator { /** * Validate agent configuration */ static validateAgentConfig(config: any, context?: string): Result; /** * Validate search configuration */ static validateSearchConfig(config: any, context?: string): Result; /** * Validate sentinel configuration */ static validateSentinelConfig(config: any, context?: string): Result; } /** * Builder pattern for validation chains */ export declare class ValidationBuilder { private value; private context; private errors; constructor(value: T, context?: string); /** * Add a validation rule */ validate(rule: ValidationRule): this; /** * Add a custom validation */ custom(predicate: (value: T) => boolean, errorMessage: string): this; /** * Build the result */ build(): Result; /** * Build with all errors */ buildWithAllErrors(): Result; } /** * Create a validation builder */ export declare function validate(value: T, context?: string): ValidationBuilder; //# sourceMappingURL=validation.d.ts.map