/**
 * 🔄 EVENT SYSTEM ADAPTERS
 *
 * Provides backward compatibility for existing event systems while
 * internally using the unified PageAnalysisEmitter system.
 *
 * 🎯 CONSOLIDATES:
 * - TestOptions.eventCallbacks -> UnifiedEventCallbacks
 * - EventDrivenQueueOptions.eventCallbacks -> UnifiedEventCallbacks
 * - ParallelTestManager callbacks -> UnifiedEventCallbacks
 * - Direct callback patterns -> UnifiedEventCallbacks
 *
 * 🚨 DEPRECATION STRATEGY:
 * - Mark old systems as @deprecated
 * - Provide migration guides in comments
 * - Log deprecation warnings when old systems are used
 * - Maintain full functionality during transition period
 */
import { TestOptions } from '../../types';
import { PageAnalysisEmitter, UnifiedEventCallbacks } from './page-analysis-emitter';
/**
 * 🔄 TestOptions Event Callbacks Adapter
 *
 * Converts existing TestOptions.eventCallbacks to UnifiedEventCallbacks
 *
 * @deprecated This adapter maintains compatibility but will be removed in v3.0.0
 * Use UnifiedEventCallbacks directly instead.
 */
export declare class TestOptionsEventAdapter {
    /**
     * Convert TestOptions.eventCallbacks to UnifiedEventCallbacks
     */
    static adaptTestOptionsCallbacks(options: TestOptions): UnifiedEventCallbacks;
}
/**
 * 🔄 EventDrivenQueue Callbacks Adapter
 *
 * @deprecated Use UnifiedEventCallbacks directly
 */
export interface LegacyEventDrivenQueueCallbacks {
    onUrlAdded?: (url: string, priority: number) => void;
    onUrlStarted?: (url: string) => void;
    onUrlCompleted?: (url: string, result: any, duration: number) => void;
    onUrlFailed?: (url: string, error: string, attempts: number) => void;
    onUrlRetrying?: (url: string, attempts: number) => void;
    onQueueEmpty?: () => void;
    onProgressUpdate?: (stats: any) => void;
    onError?: (error: string) => void;
    onShortStatus?: (status: string) => void;
    onBackpressureActivated?: (reason: string) => void;
    onBackpressureDeactivated?: () => void;
    onResourceWarning?: (usage: number, limit: number) => void;
    onResourceCritical?: (usage: number, limit: number) => void;
    onGarbageCollection?: (beforeMB: number, afterMB?: number) => void;
}
export declare class EventDrivenQueueAdapter {
    /**
     * Convert EventDrivenQueue callbacks to UnifiedEventCallbacks
     *
     * @deprecated This adapter will be removed in v3.0.0
     */
    static adaptEventDrivenQueueCallbacks(callbacks: LegacyEventDrivenQueueCallbacks): UnifiedEventCallbacks;
}
/**
 * 🔄 ParallelTestManager Callbacks Adapter
 *
 * @deprecated Use UnifiedEventCallbacks directly
 */
export interface LegacyParallelTestManagerCallbacks {
    onTestStart?: (url: string) => void;
    onTestComplete?: (url: string, result: any) => void;
    onTestError?: (url: string, error: string) => void;
    onProgressUpdate?: (stats: any) => void;
    onQueueEmpty?: () => void;
}
export declare class ParallelTestManagerAdapter {
    /**
     * Convert ParallelTestManager callbacks to UnifiedEventCallbacks
     *
     * @deprecated This adapter will be removed in v3.0.0
     */
    static adaptParallelTestManagerCallbacks(callbacks: LegacyParallelTestManagerCallbacks): UnifiedEventCallbacks;
}
/**
 * 🎯 UNIFIED ADAPTER FACTORY
 *
 * Central factory for creating unified event callbacks from any legacy system
 */
export declare class UnifiedEventAdapterFactory {
    /**
     * Create unified callbacks from various legacy sources
     *
     * BACKWARD COMPATIBLE: Supports all existing callback patterns
     */
    static createUnifiedCallbacks(sources: {
        testOptions?: TestOptions;
        eventDrivenQueue?: LegacyEventDrivenQueueCallbacks;
        parallelTestManager?: LegacyParallelTestManagerCallbacks;
        direct?: UnifiedEventCallbacks;
    }): UnifiedEventCallbacks;
    /**
     * Create unified emitter with legacy compatibility
     *
     * This is the main factory method that should be used throughout the codebase
     */
    static createUnifiedEmitter(options?: {
        testOptions?: TestOptions;
        verbose?: boolean;
        enableResourceMonitoring?: boolean;
        enableBackpressure?: boolean;
        maxConcurrent?: number;
        maxRetries?: number;
    }): PageAnalysisEmitter;
}
/**
 * 🚨 DEPRECATION UTILITIES
 *
 * Utilities for managing deprecation warnings and migration guides
 */
export declare class DeprecationManager {
    private static warnedSystems;
    /**
     * Show deprecation warning once per system per session
     */
    static warnOnce(systemName: string, message: string): void;
    /**
     * Get list of systems that have shown deprecation warnings
     */
    static getWarnings(): string[];
    /**
     * Clear warning cache (useful for tests)
     */
    static clearWarnings(): void;
}
//# sourceMappingURL=event-system-adapters.d.ts.map