import { type FormulaNode } from '@bilig/formula';
import { type CellValue } from '@bilig/protocol';
import type { RuntimeDirectCriteriaDescriptor, RuntimeDirectCriteriaResultTransform } from '../runtime-state.js';
export interface DirectCriteriaResolvedRange {
    readonly sheetName: string;
    readonly rowStart: number;
    readonly rowEnd: number;
    readonly col: number;
    readonly length: number;
}
export declare function staticCellValue(node: FormulaNode | undefined): CellValue | undefined;
export declare function flattenCriteriaProduct(node: FormulaNode): FormulaNode[];
export declare function resolveDirectCriteriaRange(node: FormulaNode | undefined, ownerSheetName: string): DirectCriteriaResolvedRange | undefined;
export declare function callName(node: FormulaNode | undefined): string | undefined;
export declare function appendDirectCriteriaResultTransform(descriptor: RuntimeDirectCriteriaDescriptor, transform: RuntimeDirectCriteriaResultTransform): RuntimeDirectCriteriaDescriptor;
