export type SpineSectionName = 'Invariants' | 'Explicitly Rejected Patterns' | 'Taste Calls Made'; export type SpineIdPrefix = 'INV' | 'REJ' | 'TST'; export interface SpineEntry { id: string; date: string; sessionId: string; description: string; } export interface SpineSection { name: SpineSectionName; prefix: SpineIdPrefix; entries: SpineEntry[]; } export interface SpineDocument { sections: SpineSection[]; trailer: string; } export declare function parseSpine(content: string): SpineDocument; export declare function serializeSpine(doc: SpineDocument): string; export declare function nextId(doc: SpineDocument, prefix: SpineIdPrefix): string; export declare function readSpine(repoRoot: string): SpineDocument | null; export declare function writeSpine(repoRoot: string, doc: SpineDocument): void; export declare function sectionForPrefix(doc: SpineDocument, prefix: SpineIdPrefix): SpineSection; export declare function addEntry(doc: SpineDocument, prefix: SpineIdPrefix, sessionId: string, description: string, date?: string): string; export declare function findEntry(doc: SpineDocument, id: string): SpineEntry | undefined;