import type { CellValue } from '@bilig/protocol';
export declare const enum CellFlags {
    HasFormula = 2,
    JsOnly = 4,
    InCycle = 8,
    Materialized = 16,
    PendingDelete = 32,
    SpillChild = 64,
    PivotOutput = 128,
    AuthoredBlank = 256
}
export declare class CellStore {
    size: number;
    capacity: number;
    onSetValue: ((index: number) => void) | null;
    tags: Uint8Array;
    numbers: Float64Array;
    stringIds: Uint32Array;
    errors: Uint16Array;
    formulaIds: Uint32Array;
    versions: Uint32Array;
    flags: Uint32Array;
    sheetIds: Uint16Array;
    rows: Uint32Array;
    cols: Uint16Array;
    topoRanks: Uint32Array;
    cycleGroupIds: Int32Array;
    constructor(initialCapacity?: number);
    ensureCapacity(nextSize: number): void;
    allocate(sheetId: number, row: number, col: number): number;
    allocateReserved(sheetId: number, row: number, col: number): number;
    allocateDenseRowMajorReserved(sheetId: number, rowCount: number, colCount: number): number;
    allocateDenseRowMajorAtReserved(sheetId: number, rowStart: number, rowCount: number, colStart: number, colCount: number): number;
    allocateDenseSingleColumnReserved(sheetId: number, rowStart: number, rowCount: number, col: number): number;
    reset(): void;
    releaseBuffersToPool(): void;
    setValue(index: number, value: CellValue, stringId?: number): void;
    getValue(index: number, stringLookup: (id: number) => string): CellValue;
    private assignBuffers;
}
