import { Settings } from "./Settings"; import { ArrayExpression, BinaryExpression, CallExpression, Expression, FuncExpression, GroupExpression, IndexerExpression, LiteralExpression, MemberExpression, ObjectExpression, TernaryExpression, UnaryExpression, VariableExpression } from "./shared"; export declare class ExpressionVisitor { protected readonly settings: Settings; constructor(settings?: Settings); process(exp: Expression, scopes: any[]): any; protected visit(exp: Expression, scopes: any[]): any; protected visitGroup(exp: GroupExpression, scopes: any[]): any; protected visitArray(exp: ArrayExpression, scopes: any[]): any; protected visitBinary(exp: BinaryExpression, scopes: any[]): any; protected visitCall(exp: CallExpression, scopes: any[]): any; protected visitFunc(exp: FuncExpression, scopes: any[]): (...args: any[]) => any; protected visitIndexer(exp: IndexerExpression, scopes: any[]): any; protected visitLiteral(exp: LiteralExpression, _scopes: any[]): any; protected visitMember(exp: MemberExpression, scopes: any[]): any; protected visitObject(exp: ObjectExpression, scopes: any[]): {}; protected visitTernary(exp: TernaryExpression, scopes: any[]): any; protected visitUnary(exp: UnaryExpression, scopes: any[]): any; protected visitVariable(exp: VariableExpression, scopes: any[]): any; protected evalBinary(leftValue: any, operator: string, right: Expression, scopes: any[]): any; protected readVar(prop: string, scopes: any[]): any; protected tryFixDate(v1: any, v2: any): [any, any]; }