import { type DatabaseDialect } from './database-dialect';
export interface ILinqExpression {
    type: 'binary' | 'member' | 'constant' | 'call' | 'logical';
    operator?: string;
    left?: ILinqExpression;
    right?: ILinqExpression;
    member?: string;
    value?: any;
    method?: string;
    arguments?: ILinqExpression[];
    expressions?: ILinqExpression[];
}
export declare class LinqExpressionParser {
    private static databaseDialect;
    static setDatabaseDialect(dialect: DatabaseDialect): void;
    private static supportsCaseInsensitiveMode;
    static parseLambdaExpression(lambdaFn: Function): any;
    private static parseExpression;
    private static parseLogicalExpression;
    private static parseMethodCall;
    private static convertToWhereObject;
    private static convertBinaryExpression;
    private static reverseOperator;
    private static convertLogicalExpression;
    private static convertMethodCall;
    private static convertMethodCallComparison;
    static extractVariables(lambdaFn: Function): string[];
}
