import { BooleanQuery, Query, SpecificQuery } from './query'; import { Token } from './tokens'; export declare class Expression { private readonly tokens; private readonly name; private readonly nameIsAlias; private _expressionBrand; protected unusedName(): Name; constructor(tokens: Token[], name: Name, nameIsAlias?: boolean); private getDataTypeTokens; private toGroup; or>(expression: Expression | BooleanQuery): DefaultExpression; and>(expression: Expression | BooleanQuery): DefaultExpression; andNotExists(expression: Expression | Query): DefaultExpression; andExists(expression: Expression | Query): DefaultExpression; as(name: AliasName): Expression; isNull(): DefaultExpression; isNotNull(): DefaultExpression; asc(): DefaultExpression; desc(): DefaultExpression; nullsFirst(): DefaultExpression; nullsLast(): DefaultExpression; in>(array: DataType[] | Expression | SpecificQuery): DefaultExpression; notIn(array: DataType[] | Expression | Query): DefaultExpression; plus(value: DataType | Expression): DefaultExpression; minus(value: DataType | Expression): DefaultExpression; multiply(value: DataType | Expression): DefaultExpression; divide(value: DataType | Expression): DefaultExpression; modulo(value: DataType | Expression): DefaultExpression; concat(value: DataType | Expression): DefaultExpression; between(a: DataType, b: DataType): DefaultExpression; betweenSymmetric(a: DataType, b: DataType): DefaultExpression; isDistinctFrom(a: DataType): DefaultExpression; isNotDistinctFrom(a: DataType): DefaultExpression; like(value: DataType): DefaultExpression; ilike(value: DataType): DefaultExpression; eq>(value: DataType | Expression | SpecificQuery): DefaultExpression; ne>(value: DataType | Expression | SpecificQuery): DefaultExpression; gt>(value: DataType | Expression | SpecificQuery): DefaultExpression; gte>(value: DataType | Expression | SpecificQuery): DefaultExpression; lt>(value: DataType | Expression | SpecificQuery): DefaultExpression; lte>(value: DataType | Expression | SpecificQuery): DefaultExpression; orderBy(...expressions: Expression[]): DefaultExpression; } export declare class DefaultExpression extends Expression { constructor(tokens: Token[]); }