/** * Vault export — renders the governed record as an Obsidian-compatible * markdown vault (G5). DB is source of truth; the vault is a READ-ONLY * mirror in v1 (editing these files does not bypass the gate — re-exports * overwrite). * * Determinism matters: the same record must always produce the same bytes, * so exports diff cleanly in git. */ export interface ExportDecision { id: string; title: string; content: string; reasoning: string | null; category: string; status: string; superseded_by: string | null; created_by_agent: string | null; governed: boolean; proposal_id: string | null; created_at: string; } export interface ExportEntry { id: string; pillar: 'pattern' | 'domain' | 'system'; kind: string; title: string; body: Record; status: string; supersedes: string | null; created_by_agent: string | null; proposal_id: string | null; created_at: string; } export type ChainIndex = Record; export interface VaultFile { path: string; content: string; } export declare function slugify(text: string): string; export declare function renderDecision(d: ExportDecision, chainIndex: ChainIndex): VaultFile; export declare function renderEntry(e: ExportEntry, chainIndex: ChainIndex): VaultFile; export declare function renderIndex(params: { projectName: string; decisions: ExportDecision[]; entries: ExportEntry[]; chainIndex: ChainIndex; exportedAt: string; }): VaultFile; export declare function buildVault(params: { projectName: string; decisions: ExportDecision[]; entries: ExportEntry[]; chainIndex: ChainIndex; exportedAt: string; }): VaultFile[]; //# sourceMappingURL=vault.d.ts.map