import type { SessionPersister } from './session-persister';
/**
 * Returns the existing persister for `key`, or calls `factory` to create and
 * register a new one. First view to connect creates it; later views share it.
 */
export declare function getOrCreatePersister(key: string, factory: () => SessionPersister): SessionPersister;
/** Returns the existing persister for `key`, or `undefined`. */
export declare function getPersister(key: string): SessionPersister | undefined;
/**
 * Removes the persister for `key` (explicit session teardown). Disposes it first
 * so its debounced save AND diagnostics timers are cancelled — otherwise a timer
 * scheduled by the outgoing session fires after the in-place switch and flushes the
 * NEW session's entries under the OLD key, corrupting its stream (GENC-1351 §5.12).
 */
export declare function deletePersister(key: string): void;
/**
 * Removes all entries. Exposed for test isolation only — not part of the public API.
 *
 * @internal
 */
export declare function clearPersisterRegistry(): void;
//# sourceMappingURL=persister-registry.d.ts.map