import { Condition, Expression, ToType, ToExpression } from '../expressions'; import { Type, IntegerType, ArrayArg, BooleanType } from '../types'; import { Query } from '..'; export declare function NUM_NONNULLS(...args: (any)[]): Expression; export declare function NUM_NULLS(...args: (any)[]): Expression; export interface CaseConfig { when: Condition; then: T; } export declare function CASE(cases: T, $else: E): Expression> | Expression>; export declare function CASE(cases: T): Expression>; export declare function COALESCE(...args: T): ToExpression; export declare function NULLIF(a: T, b: V): Expression> | Expression>; export declare function GREATEST(...args: T): Expression>; export declare function LEAST(...args: T): Expression>; export declare function ANY(arg: Query): any; export declare function ANY(arg: ArrayArg): Expression; export declare function SOME(arg: Query): any; export declare function SOME(arg: ArrayArg): Expression; export declare function ALL(arg: Query): any; export declare function ALL(arg: ArrayArg): Expression; export declare function EXISTS(subquery: Query): Expression; export declare function ROW(...args: any[]): Expression; export declare function ROW(subquery: Query): Expression;