export default ExpressionParser; declare namespace ExpressionParser { /** * Callback produced by compiled expressions. * * @param context - Evaluation context. * @returns The evaluated number. */ type ExpressionCallbackType = ( context: object ) => number } /** * Parser and evaluator for simple expressions. */ declare class ExpressionParser { /** * Compile an expression into a callback. * * @param expression - Expression string. * @returns The compiled callback. */ compile( expression: string ): ExpressionParser.ExpressionCallbackType; /** * Execute an expression string. * * @param expression - Expression string. * @param context - Evaluation context. * @returns The evaluated number. */ exec( expression: string, context: object ): number; /** * Execute a compiled expression callback. * * @param expressionCallback - Compiled callback. * @param context - Evaluation context. * @returns The evaluated number. */ exec( expressionCallback: ExpressionParser.ExpressionCallbackType, context: object ): number; /** * Get a property from a context object. * * @param context - Source object. * @param key - Property path. * @param defaultValue - Default value if missing. * @param dotMode - Enable dot path parsing. * @returns The property value. */ static GetProperty( context: Object, key: string | string[], defaultValue: any, dotMode?: boolean ): any; }