import type { PoolConfig } from './types.ts';
interface HotReloadConnection {
    readonly shuttingDown: boolean;
    readonly ended?: boolean;
    close(): Promise<void>;
}
/**
 * Whether Bun hot module replacement is active.
 * Undefined in production; Bun dead-code-eliminates callers when false.
 */
export declare function isHotReloadEnabled(): boolean;
/** @internal Test-only override for hot reload detection. */
export declare function __setHotReloadEnabledForTests(value: boolean | undefined): void;
/**
 * Stable cache key for pools that target the same backend with the same sizing.
 */
export declare function computePoolHotReloadKey(config?: string | PoolConfig): string;
/**
 * Close a superseded pool/client during hot reload and track the replacement.
 * @internal
 */
export declare function supersedeHotReloadConnection(connection: HotReloadConnection, hotReloadKey: string): void;
/**
 * Remove a closed connection from the shared hot-reload cache.
 * @internal
 */
export declare function removeHotReloadCachedConnection(connection: HotReloadConnection): void;
/** Clear all shared hot-reload pool references. */
export declare function clearSharedHotReloadCache(): void;
/** @internal Clear shared pool cache between tests. */
export declare function __clearHotReloadCacheForTests(): void;
/**
 * Returns a shared pool cached from a prior hot reload, if still open.
 * @internal
 */
export declare function getSharedHotReloadPool(hotReloadKey: string): HotReloadConnection | undefined;
export {};
//# sourceMappingURL=hot-reload.d.ts.map