/**
 * localSqliteTelemetrySink — sovereign local mirror of agent runs.
 *
 * Per ADR-ECO-039 §5 : SQLite sink is ON by default. It is the exit plan for
 * any remote sink (CC SaaS, OTLP backend) — if the network sink is revoked,
 * the local SQLite file retains the full history.
 *
 * Schema (created on first use) :
 *   - `agent_run`  : one row per OODA cycle (start + finish join)
 *   - `agent_run_step` : one row per OODA step
 *
 * Dependency : `better-sqlite3` declared as **peerDependency optional**.
 * If absent, this sink degrades gracefully — logs a warning and no-ops.
 *
 * Ref: command-center:sprint-693:sink-sqlite
 */
import type { TelemetrySink } from "../port.js";
export interface LocalSqliteTelemetrySinkOptions {
    /**
     * Database file path. Default `~/.vauban/runs.db`.
     * Pass `:memory:` for ephemeral test mode.
     */
    path?: string;
    /** Synchronous mode (better-sqlite3 default). Tests may override. */
    readonly?: boolean;
}
/**
 * Build a local SQLite sink. Returns a no-op sink if `better-sqlite3` is not
 * installed — the caller is warned via `console.warn` once.
 */
export declare function localSqliteTelemetrySink(opts?: LocalSqliteTelemetrySinkOptions): TelemetrySink;
//# sourceMappingURL=sqlite.d.ts.map