/** * Reading and writing `.changes/ledger.yaml`, and the pending fragment * directory beside it. * * The Node half only — the shapes and their parsers are the analyzer's, so the * editor reads the same files the same way. */ import { type Ledger, type ReleaseFragment } from "@telorun/analyzer"; /** Where a fragment waits to be released. Sits under `.changes/` beside the * ledger, so everything the release system owns is in one directory. */ export declare const PENDING_DIR = ".changes/pending"; export declare function readLedger(root: string): Ledger; export declare function writeLedger(root: string, ledger: Ledger): void; /** Every pending fragment, in filename order so a plan's changelog entries land * in a stable order across runs. */ export declare function readFragments(root: string): ReleaseFragment[]; /** * Write a fragment, never over one that already exists. * * The filename is derived from the kind and the first words of the body, which * is what makes the pending directory readable — and what makes a collision * possible. Silently overwriting would delete somebody's changelog line, so a * taken name gets a `-2` rather than the file it names. */ export declare function writeFragment(root: string, name: string, text: string): string; export declare function deleteFragment(root: string, source: string): void; //# sourceMappingURL=ledger-store.d.ts.map