import { ITestEnvironment } from '../test-environment/ITestEnvironment'; import { SessionSetupFunction } from '../core/ISessionManager'; import { TestSessionOptions, ITestSession } from '../core/ITestSession'; import { SessionResult } from '../results/SessionResult'; import { IEventBus } from '../events/IEventBus'; import { SessionEventType, SessionEvent } from '../events/SessionEventTypes'; import { IManagedSession } from './IManagedSession'; export interface SessionConfig { label: string; setupFn: SessionSetupFunction; options?: Partial; } export interface BatchExecutionOptions { parallel?: boolean; stopOnError?: boolean; filter?: (session: ITestSession) => boolean; } export interface SessionManagerStats { total: number; completed: number; pending: number; failed: number; } export interface SessionManagerOptions { autoCleanup?: boolean; defaultSessionOptions?: Partial; eventLogging?: boolean; } export interface ISessionManagerAPI { configure(testEnvironment: Partial): ISessionManagerAPI; createSession(label: string, setupFn: SessionSetupFunction, options?: Partial): Promise; createSessions(configs: SessionConfig[]): Promise; getSession(label: string): IManagedSession | null; getAllSessions(): IManagedSession[]; runAll(options?: BatchExecutionOptions): Promise; cleanup(): void; reset(): void; getStats(): SessionManagerStats; readonly events: IEventBus; onEvent(eventType: SessionEventType, callback: (event: SessionEvent) => void): () => void; onAnyEvent(callback: (event: SessionEvent) => void): () => void; } //# sourceMappingURL=ISessionManagerAPI.d.ts.map