import { type ViteDevServer } from 'vite'; import { Emitter } from '../testing/emitter.js'; import type { RunnerEvents } from '../types.js'; import { Runner } from './runner.js'; import { ExceptionsManager } from './exceptions_manager.js'; import { BrowserManager, type BrowserName } from './browser_manager.js'; import { ServerManager, type ServerTelemetryContract } from './server_manager.js'; import { TestPoolManager } from './test_pool_manager.js'; import { Cli } from './cli.js'; import type { NormalizedConfig, CLIArgs } from './types.js'; import type { NamedReporterContract } from '../types.js'; import { Telemetry } from './telemetry.js'; import { LifecycleManager, type ShutdownOptions } from './lifecycle_manager.js'; import { TestExecutor } from './test_executor.js'; import { TestCache } from './test_cache.js'; /** * The `Orchestrator` is the primary coordinator of the Lupa test framework. * Delegates environment startup and teardown to `LifecycleManager`, and * test execution and wave processing to `TestExecutor`. */ export declare class Orchestrator implements ServerTelemetryContract { #private; config: NormalizedConfig; cliArgs: CLIArgs; reporters: NamedReporterContract[]; suites: any[]; refinerFilters: any[]; exceptionsManager: ExceptionsManager; browserNames: BrowserName[]; cli: Cli; telemetry: Telemetry; testCache: TestCache; lifecycle: LifecycleManager; executor: TestExecutor; isShuttingDown: boolean; constructor(config: NormalizedConfig, cliArgs: CLIArgs, reporters: NamedReporterContract[], suites: any[], refinerFilters: any[]); get vite(): ViteDevServer | undefined; set vite(val: ViteDevServer | undefined); get serverManager(): ServerManager | undefined; set serverManager(val: ServerManager | undefined); get browserManager(): BrowserManager | undefined; set browserManager(val: BrowserManager | undefined); get poolManager(): TestPoolManager | undefined; set poolManager(val: TestPoolManager | undefined); get browserEmitter(): Emitter; set browserEmitter(val: Emitter); get serverUrl(): string | undefined; set serverUrl(val: string | undefined); get isRunning(): boolean; set isRunning(val: boolean); get activeNodeRunner(): Runner | undefined; set activeNodeRunner(val: Runner | undefined); get activeNodeEmitter(): Emitter | undefined; set activeNodeEmitter(val: Emitter | undefined); get globalTimeout(): ReturnType | undefined; set globalTimeout(val: ReturnType | undefined); get isWatchMode(): boolean; get defaultBrowserType(): BrowserName; /** * Register teardown functions from plugins (e.g. from the plan phase). */ registerTeardowns(teardowns: (() => void | Promise)[]): void; /** * Returns a promise that resolves with the exit code when the test run completes. */ waitForCompletion(): Promise; /** * Resolves the completion promise with the given exit code. * @internal */ resolveCompletion(code: number): void; /** * Rejects the completion promise with the given error. * @internal */ rejectCompletion(error: any): void; /** * Boots the test environment via LifecycleManager. */ boot(): Promise; /** * Shuts down the entire test environment via LifecycleManager. */ shutdown(exitCode: number, options?: ShutdownOptions): Promise; /** * Executes the test suites via TestExecutor. */ executeTests(): Promise; /** * Handles Vite compilation errors. */ handleCompilationError(error: Error, bail: boolean): Promise; }