/** * Mocha Multiple Sessions Library - Main Entry Point * Clean architecture implementation with dependency injection and events */ import { ScriptLoader } from './impl/utils/ScriptLoader'; export declare const testSessionSetup: (config: Partial) => void; export declare const getTestEnvironment: () => import("./interfaces/test-environment/ITestEnvironment").ITestEnvironment; export declare const testSession: (label: string, setupFn: import("./interfaces/core/ISessionManager").SessionSetupFunction, options?: Partial) => Promise; export declare const runSession: (label: string) => Promise; export declare const runAllSessions: () => Promise; export declare const getSession: (label: string) => import("./interfaces/core/ITestSession").ITestSession | null; export declare const getAllSessions: () => import("./interfaces/core/ITestSession").ITestSession[]; export declare const onSessionEvent: (eventType: import("./interfaces/events/SessionEventTypes").SessionEventType, callback: (event: import("./interfaces/events/SessionEventTypes").SessionEvent) => void) => void; export declare const onAnySessionEvent: (callback: (event: import("./interfaces/events/SessionEventTypes").SessionEvent) => void) => void; export declare const offSessionEvent: (eventType: import("./interfaces/events/SessionEventTypes").SessionEventType, callback: (event: import("./interfaces/events/SessionEventTypes").SessionEvent) => void) => void; export declare const getEventEmitter: () => import("./interfaces/events/IEventBus").IEventEmitter; export declare class SessionManager { private container; constructor(options?: any); createSession(label: string, setupFn: any, options?: any): Promise; createSessions(configs: Array<{ label: string; setupFn: any; options?: any; }>): Promise; getSession(label: string): ManagedSession | null; getAllSessions(): ManagedSession[]; runAll(options?: { parallel?: boolean; }): Promise; getStats(): { total: number; completed: number; pending: number; failed: number; }; } export declare class ManagedSession { readonly label: string; constructor(label: string); get exists(): boolean; get completed(): boolean; get failed(): boolean; get error(): Error | undefined; get id(): string | undefined; get options(): import("./interfaces/core/ITestSession").TestSessionOptions | undefined; run(options?: any): Promise<{ label: string; passes: number; failures: number; tests: number; sessionId: string; sessionLabel: string; stats: import("./interfaces/core/ITestSession").TestSessionStats; success: boolean; error?: Error; duration: number; }>; runWithTimeout(timeoutMs: number): Promise; onEvent(eventType: string, callback: any): () => void; onAnyEvent(callback: any): () => void; } export declare class SessionBuilder { private sessionManager; private label; private setupFunctions; private sessionOptions; private scripts; private testSuites; private scriptLoader; constructor(sessionManager: SessionManager); withLabel(label: string): this; withOptions(options: any): this; withTimeout(timeoutMs: number): this; withRetries(retries: number): this; withMetadata(key: string, value: any): this; loadScript(scriptPath: string): this; loadScripts(scriptPaths: string[]): this; addTestSuite(suiteFn: () => void): this; addAsyncSetup(setupFn: () => Promise): this; addSetup(setupFn: () => void): this; describe(description: string, testFn: () => void): this; it(description: string, testFn: () => void): this; build(): Promise; buildAndRun(): Promise; } export declare class LegacyAPI { private scriptLoader; runSession(label: string, resultKey: string, testFiles: string[], reportContainerId?: string | null, options?: any): Promise; runMultipleSessions(sessions: Array<{ label: string; resultKey: string; testFiles: string[]; }>, containerId: string, options?: any): Promise; } export declare const legacyRunSession: (label: string, resultKey: string, testFiles: string[], reportContainerId?: string | null, options?: any) => Promise; export declare const legacyRunMultipleSessions: (sessions: Array<{ label: string; resultKey: string; testFiles: string[]; }>, containerId: string, options?: any) => Promise; export { ScriptLoader }; export declare const loadScript: (scriptPath: string, options?: import("./interfaces/utils/IScriptLoader").ScriptLoaderOptions) => Promise; export declare const loadScripts: (scriptPaths: string[], options?: import("./interfaces/utils/IScriptLoader").ScriptLoaderOptions) => Promise; export type { ITestSession, TestSessionOptions, TestSessionStats } from './interfaces/core/ITestSession'; export type { SessionSetupFunction } from './interfaces/core/ISessionManager'; export type { ISessionExecutionResult } from './interfaces/core/ISessionExecutor'; export type { SessionResult, SessionExecutionResult } from './interfaces/results/SessionResult'; export type { SessionEventType, SessionEvent } from './interfaces/events/SessionEventTypes'; export type { IEventEmitter } from './interfaces/events/IEventBus'; export type { SessionManagerOptions, SessionConfig, BatchExecutionOptions, SessionManagerStats } from './interfaces/api/ISessionManagerAPI'; export type { SessionExecutionOptions } from './interfaces/api/IManagedSession'; export type { ITestEnvironment } from './interfaces/test-environment/ITestEnvironment'; export type { IMochaInstance } from './interfaces/test-environment/IMochaInstance'; export type { ScriptLoaderOptions } from './interfaces/utils/IScriptLoader'; declare const MochaMultipleSessions: { testSessionSetup: (config: Partial) => void; getTestEnvironment: () => import("./interfaces/test-environment/ITestEnvironment").ITestEnvironment; testSession: (label: string, setupFn: import("./interfaces/core/ISessionManager").SessionSetupFunction, options?: Partial) => Promise; runSession: (label: string) => Promise; runAllSessions: () => Promise; getSession: (label: string) => import("./interfaces/core/ITestSession").ITestSession | null; getAllSessions: () => import("./interfaces/core/ITestSession").ITestSession[]; onSessionEvent: (eventType: import("./interfaces/events/SessionEventTypes").SessionEventType, callback: (event: import("./interfaces/events/SessionEventTypes").SessionEvent) => void) => void; onAnySessionEvent: (callback: (event: import("./interfaces/events/SessionEventTypes").SessionEvent) => void) => void; offSessionEvent: (eventType: import("./interfaces/events/SessionEventTypes").SessionEventType, callback: (event: import("./interfaces/events/SessionEventTypes").SessionEvent) => void) => void; getEventEmitter: () => import("./interfaces/events/IEventBus").IEventEmitter; loadScript: (scriptPath: string, options?: import("./interfaces/utils/IScriptLoader").ScriptLoaderOptions) => Promise; loadScripts: (scriptPaths: string[], options?: import("./interfaces/utils/IScriptLoader").ScriptLoaderOptions) => Promise; legacyRunSession: (label: string, resultKey: string, testFiles: string[], reportContainerId?: string | null, options?: any) => Promise; legacyRunMultipleSessions: (sessions: Array<{ label: string; resultKey: string; testFiles: string[]; }>, containerId: string, options?: any) => Promise; }; export default MochaMultipleSessions; //# sourceMappingURL=index.d.ts.map