import { TransformerParameter } from "../../ExpressionBuilder/TransformerParameter"; import { SelectExpression } from "../../Queryable/QueryExpression/SelectExpression"; import { InstantiationExpression } from "../../ExpressionBuilder/Expression/InstantiationExpression"; import { IExpression } from "../../ExpressionBuilder/Expression/IExpression"; import { MethodCallExpression } from "../../ExpressionBuilder/Expression/MethodCallExpression"; import { MemberAccessExpression } from "../../ExpressionBuilder/Expression/MemberAccessExpression"; import { TernaryExpression } from "../../ExpressionBuilder/Expression/TernaryExpression"; import { FunctionCallExpression } from "../../ExpressionBuilder/Expression/FunctionCallExpression"; import { IUnaryOperatorExpression } from "../../ExpressionBuilder/Expression/IUnaryOperatorExpression"; import { IBinaryOperatorExpression } from "../../ExpressionBuilder/Expression/IBinaryOperatorExpression"; import { ObjectValueExpression } from "../../ExpressionBuilder/Expression/ObjectValueExpression"; import { FunctionExpression } from "../../ExpressionBuilder/Expression/FunctionExpression"; import { ParameterExpression } from "../../ExpressionBuilder/Expression/ParameterExpression"; import { IEntityExpression } from "../../Queryable/QueryExpression/IEntityExpression"; import { ExpressionExecutor } from "../../ExpressionBuilder/ExpressionExecutor"; import { QueryTranslator } from "../../Query/QueryTranslator"; import { NamingStrategy } from "../../Query/NamingStrategy"; import { IQueryVisitor } from "../../Query/IQueryVisitor"; import { IQueryVisitParameter } from "../../Query/IQueryVisitParameter"; import { IQueryOption } from "../../Query/IQueryOption"; export declare class RelationQueryVisitor implements IQueryVisitor { option: IQueryOption; scopeParameters: TransformerParameter; private aliasObj; namingStrategy: NamingStrategy; translator: QueryTranslator; constructor(); protected parameterStackIndex: number; valueTransformer: ExpressionExecutor; newAlias(type?: "entity" | "column" | "param"): string; setParameter(flatParameterStacks: { [key: string]: any; }, parameterStackIndex: number): void; protected isSafe(exp: IExpression): boolean; setDefaultBehaviour(selectExp: SelectExpression): void; visit(exp: IExpression, param: IQueryVisitParameter): IExpression; protected visitParameter(exp: ParameterExpression, param: IQueryVisitParameter): any; visitFunction(exp: FunctionExpression, parameters: IExpression[], param: IQueryVisitParameter): IExpression; protected visitMember(exp: MemberAccessExpression, param: IQueryVisitParameter): IExpression; protected visitMethod(exp: MethodCallExpression, param: IQueryVisitParameter): IExpression; protected visitInstantiation(exp: InstantiationExpression, param: IQueryVisitParameter): IExpression; protected visitFunctionCall(exp: FunctionCallExpression, param: IQueryVisitParameter): IExpression; protected visitBinaryOperator(exp: IBinaryOperatorExpression, param: IQueryVisitParameter): IExpression; protected visitUnaryOperator(exp: IUnaryOperatorExpression, param: IQueryVisitParameter): IExpression; protected visitTernaryOperator(exp: TernaryExpression, param: IQueryVisitParameter): IExpression; protected visitObjectLiteral(expression: ObjectValueExpression, param: IQueryVisitParameter): IEntityExpression; }