/** * Playwright Oracle Reporter - Configuration Validator * Copyright (c) 2026 Mihajlo Stojanovski * * Enterprise-grade configuration validation with: * - System requirements verification * - Cross-platform compatibility checks * - Resource availability validation * - Structured error reporting * * @module config/validator */ /** System memory info for validation display. */ interface MemoryInfo { total: string; free: string; usage: string; } /** * Configuration validation result * @interface ValidationResult */ export interface ValidationResult { /** Whether configuration is valid and ready for use */ valid: boolean; /** Critical errors that prevent reporter operation */ errors: string[]; /** Non-critical warnings that may affect performance */ warnings: string[]; /** Detected configuration and system information */ info: Record; } /** * Configuration options for the reporter * @interface ConfigOptions */ export interface ConfigOptions { /** Output directory for HTML reports */ outputDir?: string; /** History directory for tracking flaky tests */ historyDir?: string; /** Whether to auto-open the report after the run finishes */ openReport?: boolean; /** AI analysis mode: auto, rules, openai, or claude */ aiMode?: string; /** Telemetry collection interval in seconds */ telemetryInterval?: number; /** OpenAI API key for GPT-based analysis */ openaiApiKey?: string; /** Anthropic API key for Claude-based analysis */ claudeApiKey?: string; } /** * Validates the reporter configuration and system requirements * @param options - Configuration options to validate * @returns Validation result with errors, warnings, and detected info * @throws {ConfigurationError} When critical validation fails */ export declare function validateConfig(options?: ConfigOptions): ValidationResult; /** * Prints validation results to console in a user-friendly format * @param result - The validation result to display * @remarks Uses console output for user-facing information, not structured logging */ export declare function printValidationResults(result: ValidationResult): void; export {}; //# sourceMappingURL=validator.d.ts.map