import type { WorkbookAxisEntrySnapshot, WorkbookAxisMetadataSnapshot } from '@bilig/protocol';
import { type EngineCounters } from './perf/engine-counters.js';
import type { SheetRecord } from './workbook-sheet-record.js';
import type { WorkbookAxisEntryRecord, WorkbookAxisMetadataRecord } from './workbook-metadata-types.js';
type WorkbookAxis = 'row' | 'column';
type AxisGeometryPatch = Omit<WorkbookAxisMetadataSnapshot, 'start' | 'count' | 'size' | 'hidden' | 'filterHidden'>;
export declare class WorkbookAxisEntryStore {
    private readonly options;
    constructor(options: {
        readonly counters: EngineCounters | undefined;
        readonly createAxisEntry: (axis: WorkbookAxis) => WorkbookAxisEntryRecord;
    });
    setAxisMetadata(sheet: SheetRecord, axis: WorkbookAxis, bucket: Map<string, WorkbookAxisMetadataRecord>, sheetName: string, start: number, count: number, size: number | null, hidden: boolean | null, geometry?: AxisGeometryPatch, filterHidden?: boolean | null): WorkbookAxisMetadataRecord | undefined;
    listAxisMetadata(sheet: SheetRecord | undefined, bucket: Map<string, WorkbookAxisMetadataRecord>, sheetName: string, axis: WorkbookAxis): WorkbookAxisMetadataRecord[];
    listAxisEntries(sheet: SheetRecord | undefined, axis: WorkbookAxis): WorkbookAxisEntrySnapshot[];
    materializeAxisEntries(sheet: SheetRecord, axis: WorkbookAxis, start: number, count: number): WorkbookAxisEntrySnapshot[];
    snapshotAxisEntriesInRange(sheet: SheetRecord | undefined, axis: WorkbookAxis, start: number, count: number): WorkbookAxisEntrySnapshot[];
    spliceAxisEntries(sheet: SheetRecord, axis: WorkbookAxis, start: number, deleteCount: number, insertCount: number, entries?: readonly WorkbookAxisEntrySnapshot[]): WorkbookAxisEntrySnapshot[];
    moveAxisEntries(sheet: SheetRecord, axis: WorkbookAxis, start: number, count: number, target: number): void;
    getAxisMetadataRecord(sheet: SheetRecord, axis: WorkbookAxis, sheetName: string, start: number, count: number): WorkbookAxisMetadataRecord | undefined;
    private hydrateAxisEntriesFromMap;
    private materializeAxisEntryRecords;
    private syncAxisMetadataBucket;
}
export {};
