/** * HarnessDriver registry — lookup and instantiation by HarnessId. * * Replaces the ad-hoc switch in `harnesses.ts`. Each driver registers itself * here; the runtime asks the registry for a driver factory by id. */ import { type HarnessId } from "../contracts/ids.js"; import type { HarnessDriver, HarnessDriverConfig } from "./base.js"; export type HarnessDriverFactory = (config: HarnessDriverConfig) => HarnessDriver; export declare function registerDriver(harnessId: HarnessId, factory: HarnessDriverFactory): void; export declare function getDriverFactory(harnessId: HarnessId): HarnessDriverFactory | null; export declare function instantiateDriver(config: HarnessDriverConfig): HarnessDriver; export declare function listRegisteredDrivers(): HarnessId[]; /** Test/setup helper: register many drivers at once and return an "unregister all" disposer. */ export declare function registerMany(entries: ReadonlyArray): () => void; /** Test helper: clear the registry between cases. */ export declare function _resetDriverRegistryForTests(): void;