import type { FormulaFamilyStore } from '../../formula/formula-family-store.js';
import type { EngineRuntimeState } from '../runtime-state.js';
import { type FormulaBindingFamilyShapeKeyCache } from './formula-binding-family-shape-key.js';
export interface DeferredFormulaFamilyIndexRun {
    readonly sheetId: number;
    readonly templateId: number;
    readonly shapeKey: string;
    readonly fixedIndex: number;
    start: number;
    step: number;
    lastIndex: number;
    ordered: boolean;
    cellIndices: number[];
    rows?: number[];
}
export declare function noteDeferredFormulaFamilyIndexRunMember(runs: Map<string, DeferredFormulaFamilyIndexRun>, args: {
    readonly cellIndex: number;
    readonly sheetId: number;
    readonly templateId: number;
    readonly shapeKey: string;
    readonly row: number;
    readonly col: number;
}): void;
export declare function registerDeferredFormulaFamilyIndexRun(store: Pick<FormulaFamilyStore, 'registerFormulaRun' | 'registerFreshUniformRun'>, run: DeferredFormulaFamilyIndexRun): void;
export declare function rebuildDeferredFormulaFamilyIndex(args: {
    readonly state: Pick<EngineRuntimeState, 'workbook' | 'formulas'>;
    readonly store: FormulaFamilyStore;
    readonly shapeKeyCache: FormulaBindingFamilyShapeKeyCache;
}): void;
