import { BooleanType, Type } from '../types'; import { Template } from '../template'; import { Expression } from '.'; import { Query } from '..'; export declare class AnyExpression extends Template { type: T; alias?: string; columns?: string[]; as(alias: string, columns?: string[]): this; toQuery(start?: number): [string, any[]]; toSource(): Template; cast(type: NT): Expression; /** * Operation: || */ concat(operand: any): AnyExpression; /** * BooleanExpr: = */ eq(operand: T['argument']): Expression>; /** * BooleanExpr: != */ ne(operand: T['argument']): Expression>; /** * BooleanExpr: IS */ is(operand: null | boolean | 'UNKNOWN'): Expression>; /** * BooleanExpr: IS NOT */ isNot(operand: null | boolean | 'UNKNOWN'): Expression>; /** * BooleanExpr: IS */ isDistinctFrom(operand: T['argument']): Expression>; /** * BooleanExpr: IS NOT */ isNotDistinctFrom(operand: T['argument']): Expression>; /** * BooleanExpr: > */ gt(operand: T['argument']): Expression>; /** * BooleanExpr: < */ lt(operand: T['argument']): Expression>; /** * BooleanExpr: >= */ gte(operand: T['argument']): Expression>; /** * BooleanExpr: <= */ lte(operand: T['argument']): Expression>; /** * BooleanExpr: <> */ gl(operand: T['argument']): Expression>; /** * BooleanExpr: BETWEEN ${from} AND ${to} */ between(from: T['argument'], to: T['argument']): Expression>; /** * BooleanExpr: NOT BETWEEN ${from} AND ${to} */ notBetween(from: T['argument'], to: T['argument']): Expression>; /** * BooleanExpr: BETWEEN SYMETRIC ${from} AND ${to} */ betweenSymetric(from: T['argument'], to: T['argument']): Expression>; /** * BooleanExpr: NOT BETWEEN SYMETRIC ${from} AND ${to} */ notBetweenSymetric(from: T['argument'], to: T['argument']): Expression>; /** * BooleanExpr: IN (...operands) */ in(subquery: Query): Expression>; in(...operands: T['argument'][]): Expression>; /** * BooleanExpr: NOT IN (...operands) */ notIn(subquery: Query): Expression>; notIn(...operands: T['argument'][]): Expression>; contain(arg: T['argument']): Expression>; contained(arg: T['argument']): Expression>; }