export interface LogicalCellLocation {
    readonly sheetId: number;
    readonly rowId: string;
    readonly colId: string;
}
export type CellPageStoreRebuildSource = (callback: (location: LogicalCellLocation, cellIndex: number) => void) => void;
export type LogicalCellPartsKeyFactory = (sheetId: number, rowId: string, colId: string) => string;
export declare class CellPageStore {
    private readonly cells;
    private readonly keyForLocation;
    private readonly rebuildSource?;
    private pagesDirty;
    private readonly keyForParts;
    constructor(cells: Map<string, number>, keyForLocation: (location: LogicalCellLocation) => string, rebuildSource?: CellPageStoreRebuildSource | undefined, keyForParts?: LogicalCellPartsKeyFactory);
    key(location: LogicalCellLocation): string;
    get(location: LogicalCellLocation): number | undefined;
    set(location: LogicalCellLocation, cellIndex: number): void;
    setDeferred(location: LogicalCellLocation, cellIndex: number): void;
    setDeferredParts(sheetId: number, rowId: string, colId: string, cellIndex: number): void;
    deferRebuild(): void;
    delete(location: LogicalCellLocation): boolean;
    private ensurePages;
}
