import type { AiDriver } from '../components/ai-driver/ai-driver';
/**
 * Returns the existing driver for the given key, or calls the factory to create
 * and register a new one. `agentsKey` is the fingerprint of the agents the
 * driver is being built for; it is recorded only when a driver is created (a
 * reused driver keeps the fingerprint it was originally built with).
 */
export declare function getOrCreateDriver(key: string, agentsKey: string, factory: () => AiDriver): AiDriver;
/**
 * Returns the existing driver for the given key, or `undefined`.
 */
export declare function getDriver(key: string): AiDriver | undefined;
/**
 * The agents fingerprint the registry driver for `key` was built with, or
 * `undefined` if no driver is registered. Used by `agentsChanged` to decide
 * whether a sibling has already rebuilt the shared driver to the desired agents.
 */
export declare function getDriverAgentsKey(key: string): string | undefined;
/**
 * Removes and returns the driver for the given key.
 * Used when agents change (driver must be rebuilt) or on explicit session teardown.
 */
export declare function deleteDriver(key: string): AiDriver | undefined;
/**
 * Removes all entries. Exposed for test isolation only — not part of the public API.
 *
 * @internal
 */
export declare function clearDriverRegistry(): void;
//# sourceMappingURL=driver-registry.d.ts.map