import { SessionState, SessionResult, DetailedReport, CombinedReport, MultiSessionConfig } from './types';
import { RunnerEventType, SessionEventType, RunnerEvent, SessionEvent } from '../events/index';
import { BatchExecutionOptions } from './batch-execution';
export interface IMultiSessionDetailedRunner {
    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>;
}
//# sourceMappingURL=IMultiSessionDetailedRunner.d.ts.map