/**
 * CacheCoordinator — 跨进程缓存失效协调器
 *
 * 利用 SQLite 内置的 `PRAGMA data_version` 检测其他进程的 DB 写入。
 * 当检测到 data_version 变化时，通知所有注册的订阅者清除内存缓存。
 *
 * 原理：
 *   - SQLite 的 data_version 是一个连接级别的计数器
 *   - 当 *其他* 连接（包括其他进程）提交写事务后，当前连接的下次读操作
 *     会看到递增的 data_version
 *   - 通过定期轮询（默认 2s），实现近实时的跨进程缓存失效
 *   - 开销极低：一次 pragma 读取 < 0.01ms
 *
 * 典型场景：
 *   - MCP Server 冷启动写入 33 条 Recipe → HTTP Server 的 data_version 变化
 *   - 用户 CLI 执行 `asd embed` → Dashboard API 的缓存自动失效
 *
 * @module infrastructure/cache/CacheCoordinator
 */
import type { SqliteDatabase } from '../database/DatabaseConnection.js';
export type InvalidateHandler = () => void;
export declare class CacheCoordinator {
    #private;
    constructor(db: SqliteDatabase, pollIntervalMs?: number);
    /** 启动轮询（仅长驻进程需要：HTTP server / MCP server） */
    start(): void;
    /** 停止轮询 */
    stop(): void;
    /**
     * 注册缓存失效回调
     *
     * @param name  标识名（用于日志，如 'panoramaService'）
     * @param handler 失效时调用的清除函数
     * @returns 取消注册函数
     */
    subscribe(name: string, handler: InvalidateHandler): () => void;
    /** 当前订阅者数量（诊断用） */
    get subscriberCount(): number;
    /** 手动触发一次检查（测试用） */
    check(): boolean;
}
