import type { IMultiSessionDetailedRunner } from '../interfaces/core/IMultiSessionDetailedRunner';
import type { SessionState, SessionResult, DetailedReport, CombinedReport, MultiSessionConfig } from '../interfaces/core/types';
import type { RunnerEventType, RunnerEvent } from '../interfaces/events/runner-events';
import type { SessionEventType, SessionEvent } from '../interfaces/events/session-events';
import type { BatchExecutionOptions } from '../interfaces/core/batch-execution';
export declare class MultiSessionDetailedRunner implements IMultiSessionDetailedRunner {
    private sessionRepository;
    private reportRepository;
    private eventBus;
    private mochaIntegration;
    private reportService;
    private initializeUseCase;
    private defineSessionUseCase;
    private runSingleSessionUseCase;
    private runAllSessionsUseCase;
    private clearAllSessionsUseCase;
    private destroyRunnerUseCase;
    private initialized;
    private destroyed;
    constructor();
    init(config?: Partial<MultiSessionConfig>): void;
    define(label: string, setupFn: () => void): void;
    run(label: string): Promise<SessionResult>;
    runAll(options?: BatchExecutionOptions): Promise<Record<string, SessionResult>>;
    getReport(label: string): DetailedReport | null;
    getSessionStates(): Record<string, SessionState>;
    getCombinedReport(): CombinedReport;
    onRunnerEvent(eventType: RunnerEventType, callback: (event: RunnerEvent) => void): () => void;
    onSessionEvent(eventType: SessionEventType, callback: (event: SessionEvent) => void): () => void;
    onAnyEvent(callback: (event: RunnerEvent | SessionEvent) => void): () => void;
    isInitialized(): boolean;
    hasSession(label: string): boolean;
    getSessionCount(): number;
    clear(): Promise<void>;
    destroy(): Promise<void>;
    private ensureInitialized;
    private bridgeExistingSessionEvents;
}
//# sourceMappingURL=multi-session-detailed-runner.d.ts.map