import { MonitoringConfig, ThemeConfig, LayoutConfig, ComponentConfig, ComponentLayout, UserPreferences } from '../types/monitoring';
export interface ValidationResult {
    valid: boolean;
    errors: string[];
    warnings: string[];
    critical: string[];
}
export interface ValidationRule<T> {
    name: string;
    validator: (value: T) => ValidationResult;
    description: string;
}
export declare class ConfigValidator {
    private static readonly REQUIRED_THEME_COLORS;
    private static readonly REQUIRED_COMPONENT_STYLES;
    private static readonly VALID_COMPONENT_TYPES;
    static validateMonitoringConfig(config: MonitoringConfig): ValidationResult;
    static validateComponentConfig(component: ComponentConfig, index?: number): ValidationResult;
    static validateComponentLayout(component: ComponentLayout, index?: number): ValidationResult;
    static validateThemeConfig(theme: ThemeConfig, context?: string): ValidationResult;
    static validateLayoutConfig(layout: LayoutConfig, context?: string): ValidationResult;
    static validateUserPreferences(preferences: UserPreferences): ValidationResult;
    private static isValidVersion;
    private static isValidColor;
    static createErrorMessage(result: ValidationResult): string;
}
//# sourceMappingURL=config-validator.d.ts.map