/**
 * 🔧 Queue Configuration Factory
 *
 * Provides safe default configurations with environment variable overrides
 * and automatic tuning based on system capabilities.
 */
import { QueueConfig, QueueType } from './types';
import { BackpressureConfig } from '../backpressure-controller';
import { ResourceMonitorConfig } from '../resource-monitor';
export interface EnvironmentConfig {
    QUEUE_MAX_CONCURRENT?: string;
    QUEUE_MAX_RETRIES?: string;
    QUEUE_RETRY_DELAY?: string;
    QUEUE_TIMEOUT?: string;
    QUEUE_MAX_SIZE?: string;
    QUEUE_ENABLE_BACKPRESSURE?: string;
    QUEUE_BACKPRESSURE_THRESHOLD?: string;
    QUEUE_MAX_MEMORY_MB?: string;
    QUEUE_MAX_CPU_PERCENT?: string;
    QUEUE_MIN_DELAY_MS?: string;
    QUEUE_MAX_DELAY_MS?: string;
    QUEUE_ENABLE_RESOURCE_MONITORING?: string;
    QUEUE_MEMORY_WARNING_MB?: string;
    QUEUE_MEMORY_CRITICAL_MB?: string;
    QUEUE_SAMPLING_INTERVAL_MS?: string;
    QUEUE_ENABLE_ADAPTIVE_DELAY?: string;
    QUEUE_ENABLE_GC?: string;
    QUEUE_GC_INTERVAL?: string;
    QUEUE_PROGRESS_INTERVAL?: string;
    CI?: string;
    NODE_ENV?: string;
    JEST_WORKER_ID?: string;
}
export declare class QueueConfigFactory {
    /**
     * Create optimized configuration based on queue type and system capabilities
     */
    static createOptimizedConfig(type: QueueType, customConfig?: Partial<QueueConfig>, envOverrides?: EnvironmentConfig): QueueConfig;
    /**
     * Get base configuration for queue type
     */
    private static getBaseConfigForType;
    /**
     * Parse environment variables into configuration
     */
    private static parseEnvironmentConfig;
    /**
     * Create backpressure configuration from queue config
     */
    static createBackpressureConfig(queueConfig: QueueConfig): BackpressureConfig;
    /**
     * Create resource monitor configuration from queue config
     */
    static createResourceMonitorConfig(queueConfig: QueueConfig): ResourceMonitorConfig;
    /**
     * Validate and adjust configuration for safety
     */
    private static validateAndAdjustConfig;
    /**
     * Get system information
     */
    private static getSystemInfo;
    /**
     * Check if running in CI environment
     */
    private static isCIEnvironment;
    /**
     * Create configuration for accessibility testing workload
     */
    static createAccessibilityTestingConfig(customConfig?: Partial<QueueConfig>, envOverrides?: EnvironmentConfig): QueueConfig;
    /**
     * Get recommended configuration for production use
     */
    static createProductionConfig(type?: QueueType, customConfig?: Partial<QueueConfig>): QueueConfig;
    /**
     * Get minimal configuration for testing
     */
    static createTestConfig(customConfig?: Partial<QueueConfig>): QueueConfig;
}
//# sourceMappingURL=config-factory.d.ts.map