import type { WorkbookCommentThreadSnapshot, WorkbookLegacyCommentVmlSnapshot, WorkbookSheetThreadedCommentArtifactsSnapshot, WorkbookThreadedCommentArtifactsSnapshot } from '@bilig/protocol';
import type { WorkbookCommentThreadRecord, WorkbookSheetLegacyCommentVmlRecord, WorkbookSheetThreadedCommentArtifactsRecord, WorkbookThreadedCommentArtifactsRecord } from './workbook-metadata-types.js';
import type { WorkbookMetadataService } from './workbook-metadata-service-contract.js';
export declare abstract class WorkbookStoreCommentAccessors {
    protected abstract get metadataService(): WorkbookMetadataService;
    setThreadedCommentArtifacts(artifacts: WorkbookThreadedCommentArtifactsSnapshot): WorkbookThreadedCommentArtifactsRecord;
    getThreadedCommentArtifacts(): WorkbookThreadedCommentArtifactsRecord | undefined;
    clearThreadedCommentArtifacts(): boolean;
    setSheetThreadedCommentArtifacts(sheetName: string, artifacts: WorkbookSheetThreadedCommentArtifactsSnapshot): WorkbookSheetThreadedCommentArtifactsRecord;
    getSheetThreadedCommentArtifacts(sheetName: string): WorkbookSheetThreadedCommentArtifactsRecord | undefined;
    deleteSheetThreadedCommentArtifacts(sheetName: string): boolean;
    setSheetLegacyCommentVml(sheetName: string, legacyCommentVml: WorkbookLegacyCommentVmlSnapshot): WorkbookSheetLegacyCommentVmlRecord;
    getSheetLegacyCommentVml(sheetName: string): WorkbookSheetLegacyCommentVmlRecord | undefined;
    deleteSheetLegacyCommentVml(sheetName: string): boolean;
    setCommentThread(record: WorkbookCommentThreadSnapshot): WorkbookCommentThreadRecord;
    getCommentThread(sheetName: string, address: string): WorkbookCommentThreadRecord | undefined;
    deleteCommentThread(sheetName: string, address: string): boolean;
    listCommentThreads(sheetName: string): WorkbookCommentThreadRecord[];
}
