import { TelescopeConfig } from '../interfaces/telescope-config.interface';
export interface ValidationResult {
    isValid: boolean;
    errors: string[];
    warnings: string[];
}
export interface ConfigDefaults {
    enabled: boolean;
    storage: {
        driver: string;
        batch: {
            enabled: boolean;
            size: number;
            flushInterval: number;
        };
    };
    devtools: {
        enabled: boolean;
        bridge: {
            resilience: {
                circuitBreakerEnabled: boolean;
                fallbackEnabled: boolean;
                maxRetries: number;
                retryDelayMs: number;
                healthCheckIntervalMs: number;
            };
        };
    };
    features: {
        realTimeUpdates: boolean;
        dashboard: boolean;
        metrics: boolean;
    };
}
export declare class TelescopeConfigValidator {
    private readonly logger;
    private readonly defaults;
    private readonly supportedDrivers;
    private readonly requiredFields;
    validate(config: Partial<TelescopeConfig>): ValidationResult;
    applyDefaults(config: Partial<TelescopeConfig>): TelescopeConfig;
    validateAndApplyDefaults(config: Partial<TelescopeConfig>): TelescopeConfig;
    private validateRequiredFields;
    private validateStorageConfig;
    private validateDevToolsConfig;
    private validateFeaturesConfig;
    private validateWatchersConfig;
    private validateWatcherConfig;
    private validatePerformanceConfig;
    private validateSecurityConfig;
    private containsSensitiveData;
    private deepMerge;
    getDefaults(): ConfigDefaults;
    getSupportedDrivers(): string[];
}
