import type { WorkbookSnapshot } from '@bilig/protocol';
import type { SheetRecord } from '../workbook-store.js';
type WorkbookSnapshotSheet = WorkbookSnapshot['sheets'][number];
interface SnapshotCellCoordinate {
    readonly row: number;
    readonly col: number;
}
interface RuntimeImageSheetCellsSnapshotLike {
    readonly coords: readonly SnapshotCellCoordinate[];
    readonly coordinateOrder?: 'dense-row-major';
    readonly dimensions?: {
        readonly width: number;
        readonly height: number;
    };
    readonly cellCount?: number;
}
interface DenseSnapshotSheetRestoreRun {
    readonly startIndex: number;
    readonly rows: readonly number[];
    readonly cols: readonly number[];
    readonly cellCount: number;
}
interface DenseRuntimeSheetRestorePlan {
    readonly width: number;
    readonly height: number;
}
export declare function attachDenseFreshRuntimeCellIdentities(sheet: SheetRecord, firstCellIndex: number, rowIds: readonly string[], colIds: readonly string[]): boolean;
export declare function attachDenseFreshRuntimeCells(sheet: SheetRecord, firstCellIndex: number, rowStart: number, colStart: number, rowIds: readonly string[], colIds: readonly string[]): boolean;
export declare function getDenseRuntimeSheetRestorePlan(sheet: WorkbookSnapshot['sheets'][number], sheetCells: RuntimeImageSheetCellsSnapshotLike | undefined): DenseRuntimeSheetRestorePlan | undefined;
export declare function getDenseSnapshotSheetRestoreRuns(sheet: WorkbookSnapshot['sheets'][number]): readonly DenseSnapshotSheetRestoreRun[] | undefined;
export declare function shouldReleaseImportedSourceSnapshotCells(snapshot: WorkbookSnapshot): boolean;
export declare function releaseRestoredSheetCells(sheet: WorkbookSnapshotSheet, shouldRelease: boolean): void;
export {};
