import { type Comment, type CommentAuthor, type CommentDraft, type FoldedComments } from "./comments.js"; /** * The one interface everything goes through to read or write comments, so * nothing else knows where they live or how they are written. The viewer, * the session commands, and the CLI all take a store and never a path; a * test hands the viewer a fake one. The author is fixed when the store is * opened, by the CLI, which is what knows who is at the terminal. */ export type CommentsStore = { path: string; read(): FoldedComments; add(draft: Omit): Comment; /** Bytes on disk the last time `read` ran; a poller compares before * re-reading, since the follow tick fires every 250ms. */ changedSince(): boolean; }; /** Who is at the terminal, for a store the CLI opens for a person. */ export declare function humanAuthorAtTerminal(): CommentAuthor; export declare function openCommentsStore(commentsPath: string, author: CommentAuthor, reportWarning?: (message: string) => void): CommentsStore;