export interface ReviewAnnotation {
    id: string;
    quote: string;
    comment: string;
    prefix?: string;
    suffix?: string;
    start?: number;
    end?: number;
    isCode?: boolean;
}
interface ReviewAnnotationData {
    annotations: Record<string, ReviewAnnotation[]>;
    submitted: boolean;
}
/**
 * Server-side store for review annotations. One JSON file per session.
 * Persisted to `.bobbit/state/review-annotations-{sessionId}.json`.
 */
export declare class ReviewAnnotationStore {
    private stateDir;
    constructor(stateDir: string);
    private filePath;
    private read;
    private write;
    getAll(sessionId: string): ReviewAnnotationData;
    addAnnotation(sessionId: string, docTitle: string, annotation: ReviewAnnotation): void;
    removeAnnotation(sessionId: string, docTitle: string, annotationId: string): void;
    clearAnnotations(sessionId: string, docTitle: string): void;
    clearAll(sessionId: string): void;
    setSubmitted(sessionId: string, value: boolean): void;
    isSubmitted(sessionId: string): boolean;
    /**
     * Overwrite the entire state for a session (used by bulk save / sendBeacon).
     */
    writeAll(sessionId: string, annotations: Record<string, ReviewAnnotation[]>, submitted: boolean): void;
    deleteFile(sessionId: string): void;
}
export {};
//# sourceMappingURL=review-annotation-store.d.ts.map