/** SQLite repository for immutable, bounded graph-owned context snapshots. */ import type { ContextSnapshotAccessor, ContextSnapshotRecord, ContextSnapshotSaveInput, ContextSnapshotSaveResult } from '../context-snapshot-types.js'; import type { DataStore } from '@opensip-cli/datastore'; export declare const MAX_CONTEXT_SNAPSHOT_PAYLOAD_BYTES: number; export declare const MAX_CONTEXT_SNAPSHOTS_PER_KIND = 3; export declare const MAX_CONTEXT_SNAPSHOT_TOTAL_BYTES: number; /** Concrete repository; only graph persistence/read files import this class. */ export declare class ContextSnapshotRepo { private readonly datastore; constructor(datastore: DataStore); save(input: ContextSnapshotSaveInput, retentionProtectedIds?: readonly string[]): ContextSnapshotSaveResult; get(id: string): ContextSnapshotRecord | null; /** @throws {ValidationError} When the requested snapshot kind is invalid. */ latest(kind: string): ContextSnapshotRecord | null; private pruneInTransaction; /** * @throws {ValidationError} When protected snapshots alone exceed the per-kind retention limit. */ private pruneKindInTransaction; /** * @throws {ValidationError} When protected snapshots alone exceed the aggregate byte limit. */ private pruneTotalBytesInTransaction; } /** Lazy structural accessor installed on the graph RunScope contribution. */ export declare function createContextSnapshotAccessor(): ContextSnapshotAccessor; //# sourceMappingURL=context-snapshot-repo.d.ts.map