import type { StringPool } from '../../string-pool.js';
import type { WorkbookStore } from '../../workbook-store.js';
import type { ParsedCompiledFormula } from './formula-binding-direct-descriptors.js';
import { type DynamicFormulaAstResolver } from './formula-binding-dynamic-scalar.js';
export interface DynamicIndexDependencyPlan {
    readonly compactedRangeDependencies: ReadonlySet<string>;
    readonly selectedCells: readonly DynamicIndexSelectedCell[];
}
export interface DynamicIndexSelectedCell {
    readonly sheetName: string;
    readonly row: number;
    readonly col: number;
    readonly address: string;
}
export declare function formulaMayNeedDynamicIndexDependencyPlan(compiled: ParsedCompiledFormula): boolean;
export declare function collectDynamicIndexDependencyPlan(args: {
    readonly compiled: ParsedCompiledFormula;
    readonly ownerSheetName: string;
    readonly workbook: WorkbookStore;
    readonly strings: StringPool;
    readonly getFormulaAst?: DynamicFormulaAstResolver | undefined;
}): DynamicIndexDependencyPlan | undefined;
