/**
 * Cell history PG schema (schema only).
 *
 * Lightweight references to cell state snapshots. Heavy data (serialized
 * cell bytes) lives in the fact store; `fact_hash` points there. The
 * snapshot lifecycle (when to serialize, hash, store, and record) is
 * deferred to a future iteration — this only stages the table so
 * downstream code can target a stable schema. The table ships
 * present-but-unwritten.
 *
 * `fact_hash` is intentionally **not** a foreign key to `fact(hash)` —
 * snapshots may be evicted by GC policy while history rows remain as audit
 * traces, and federation may target facts on another instance.
 *
 * Depends on `CELL_MIGRATION_NS` (FK on `cell.id`).
 *
 * @module
 */
import type { Migration, MigrationNamespace } from './migrate.js';
/** `cell_history` table — append-only log of cell snapshot references. */
export declare const CELL_HISTORY_SCHEMA = "\nCREATE TABLE IF NOT EXISTS cell_history (\n\tid BIGSERIAL PRIMARY KEY,\n\tcell_id UUID NOT NULL REFERENCES cell(id) ON DELETE CASCADE,\n\tfact_hash TEXT NOT NULL,\n\taction_id UUID,\n\tcreated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n)";
/**
 * Cell-history indexes.
 *
 * - `idx_cell_history_cell`: per-cell timeline reads (newest first).
 * - `idx_cell_history_fact`: fact → cells reverse lookup for GC liveness
 *   and provenance queries.
 */
export declare const CELL_HISTORY_INDEXES: Array<string>;
/** Tables created by `CELL_HISTORY_MIGRATION_NS`, in drop order. */
export declare const CELL_HISTORY_DROP_TABLES: readonly ["cell_history"];
/** Cell-history migrations. */
export declare const CELL_HISTORY_MIGRATIONS: Array<Migration>;
/** Namespace identifier for cell-history migrations. */
export declare const CELL_HISTORY_MIGRATION_NAMESPACE = "fuz_cell_history";
/** Migration namespace consumed by `run_migrations`. */
export declare const CELL_HISTORY_MIGRATION_NS: MigrationNamespace;
//# sourceMappingURL=cell_history_ddl.d.ts.map