import type { FormulaMode } from '@bilig/protocol';
import type { RuntimeFormula } from '../runtime-state.js';
interface CachedFormulaFamilyShapeKey {
    readonly mode: FormulaMode;
    readonly depsLength: number;
    readonly symbolicRangesLength: number;
    readonly symbolicNamesLength: number;
    readonly symbolicTablesLength: number;
    readonly symbolicSpillsLength: number;
    readonly dependencyCount: number;
    readonly rangeDependencyCount: number;
    readonly directAggregateKind: string | undefined;
    readonly directLookupKind: string | undefined;
    readonly directScalarKind: string | undefined;
    readonly directCriteriaKind: string | undefined;
    readonly shapeKey: string;
}
export type FormulaBindingFamilyShapeKeyCache = Map<number, CachedFormulaFamilyShapeKey>;
export declare function getFormulaBindingFamilyShapeKey(cache: FormulaBindingFamilyShapeKeyCache, formula: RuntimeFormula): string;
export {};
