import { TypeSpec } from '@orioro/typing'; import { Expression, InterpreterList, EvaluationContext } from './types'; /** * @function isExpression * @param {InterpreterList} */ export declare const isExpression: (interpreters: InterpreterList, candidateExpression: any) => boolean; export declare const evaluate: (context: EvaluationContext, expOrValue: any) => any; /** * @function evaluateSync */ export declare const evaluateSync: (context: EvaluationContext, expOrValue: Expression | any) => any; /** * @function evaluateAsync */ export declare const evaluateAsync: (context: EvaluationContext, expOrValue: Expression | any) => Promise; /** * @function evaluateTyped * @param {String | string[]} expectedTypes * @param {EvaluationContext} context * @param {Expression | any} expOrValue * @returns {*} */ export declare const evaluateTyped: (expectedTypes: TypeSpec, context: EvaluationContext, expOrValue: Expression | any) => any; export declare const evaluateTypedSync: (expectedTypes: TypeSpec, context: EvaluationContext, expOrValue: Expression | any) => any; /** * @function evaluateTypedAsync * @param {String | string[]} expectedTypes * @param {EvaluationContext} context * @param {Expression | any} expOrValue * @returns {Promise<*>} */ export declare const evaluateTypedAsync: (expectedTypes: TypeSpec, context: EvaluationContext, expOrValue: Expression | any) => Promise;