import type { ASTNode } from './types'; import type { ArrayContext, FormulaFeature, FormulaMinorVersion } from '../../types'; export interface ParseResult { ast: ASTNode; dependencies: string[]; features: FormulaFeature[]; minVersion: FormulaMinorVersion; } export declare function parseFormula(expression: string): ParseResult; export declare function validateSyntax(expression: string): { isValid: true; } | { isValid: false; error: string; position?: number; }; export declare function evaluate(expression: string, context: Record): unknown; export interface EvaluateContextOptions { rootData: Record; itemData?: Record; currentPath?: string; arrayContext?: ArrayContext; } export declare function evaluateWithContext(expression: string, options: EvaluateContextOptions): unknown; export type InferredType = 'number' | 'boolean' | 'string' | 'unknown'; export interface FieldTypes { [fieldName: string]: 'number' | 'string' | 'boolean' | 'object' | 'array'; } export declare function inferFormulaType(expression: string, fieldTypes?: FieldTypes): InferredType; //# sourceMappingURL=parser.d.ts.map