import { IQueryTranslatorItem } from "./IQueryTranslatorItem"; import { FunctionCallExpression } from "../ExpressionBuilder/Expression/FunctionCallExpression"; import { IUnaryOperatorExpression } from "../ExpressionBuilder/Expression/IUnaryOperatorExpression"; import { IBinaryOperatorExpression } from "../ExpressionBuilder/Expression/IBinaryOperatorExpression"; import { TernaryExpression } from "../ExpressionBuilder/Expression/TernaryExpression"; import { IQueryBuilder } from "./IQueryBuilder"; import { IExpression } from "../ExpressionBuilder/Expression/IExpression"; import { IObjectType, GenericType } from "../Common/Type"; import { MemberAccessExpression } from "../ExpressionBuilder/Expression/MemberAccessExpression"; import { MethodCallExpression } from "../ExpressionBuilder/Expression/MethodCallExpression"; import { IQueryBuilderParameter } from "./IQueryBuilderParameter"; export declare class QueryTranslator { key: symbol; private _map; constructor(key: symbol); registerFn>(fn: (...params: any[]) => T, translate: (qb: IQueryBuilder, exp: TExp, param?: IQueryBuilderParameter) => string, isTranslate?: (exp: TExp) => boolean): void; registerType>>(type: GenericType, translate: (qb: IQueryBuilder, exp: TExp, param?: IQueryBuilderParameter) => string, isTranslate?: (exp: TExp) => boolean): void; registerOperator(operator: IObjectType, translate: (qb: IQueryBuilder, exp: TExp, param?: IQueryBuilderParameter) => string, isTranslate?: (exp: TExp) => boolean): void; registerMember>(object: T, memberName: K, translate: (qb: IQueryBuilder, exp: TExp, param?: IQueryBuilderParameter) => string, isTranslate?: (exp: TExp) => boolean): void; registerMethod>(object: T, methodName: K, translate: (qb: IQueryBuilder, exp: TExp, param?: IQueryBuilderParameter) => string, isTranslate?: (exp: TExp) => boolean): void; resolve(object: any, memberName?: string): IQueryTranslatorItem>; protected fallbacks: QueryTranslator[]; registerFallbacks(...fallbacks: QueryTranslator[]): void; }