import { Field } from '../fields'; import { Condition } from './Condition'; import { ConditionConnector } from './ConditionConnector'; import { ConnectedCondition } from './ConnectedCondition'; import { ExistsSubquery } from './ExistsCondition'; export declare class ConditionGroup { private conditions; setConditions(conditions: Array): ConditionGroup; getConditions(): Array<{ condition: Condition; connector: ConditionConnector; }>; where(callback: (group: ConditionGroup) => void): ConditionGroup; where(condition: Condition): ConditionGroup; where(field: Field, value: any): ConditionGroup; where(field: Field, operator: string, value: any): ConditionGroup; orWhere(callback: (group: ConditionGroup) => void): ConditionGroup; orWhere(condition: Condition): ConditionGroup; orWhere(field: Field, value: any): ConditionGroup; orWhere(field: Field, operator: string, value: any): ConditionGroup; whereIn(field: Field, values: Array): ConditionGroup; whereNotIn(field: Field, values: Array): ConditionGroup; whereBetween(field: Field, range: [any, any]): ConditionGroup; whereNotBetween(field: Field, range: [any, any]): ConditionGroup; whereNull(field: Field): ConditionGroup; whereNotNull(field: Field): ConditionGroup; /** Case-insensitive by default. Pass caseSensitive=true for exact-case matching. */ whereLike(field: Field, pattern: string, caseSensitive?: boolean): ConditionGroup; /** Case-insensitive by default. Pass caseSensitive=true for exact-case matching. */ whereNotLike(field: Field, pattern: string, caseSensitive?: boolean): ConditionGroup; whereColumn(field: Field, column: Field): ConditionGroup; whereColumn(field: Field, operator: string, column: Field): ConditionGroup; whereExists(subquery: ExistsSubquery): ConditionGroup; whereNotExists(subquery: ExistsSubquery): ConditionGroup; /** Membership test of `value` inside the array column `field`. */ whereArrayContains(field: Field, value: any): ConditionGroup; orWhereIn(field: Field, values: Array): ConditionGroup; orWhereNotIn(field: Field, values: Array): ConditionGroup; orWhereBetween(field: Field, range: [any, any]): ConditionGroup; orWhereNotBetween(field: Field, range: [any, any]): ConditionGroup; orWhereNull(field: Field): ConditionGroup; orWhereNotNull(field: Field): ConditionGroup; /** Case-insensitive by default. Pass caseSensitive=true for exact-case matching. */ orWhereLike(field: Field, pattern: string, caseSensitive?: boolean): ConditionGroup; /** Case-insensitive by default. Pass caseSensitive=true for exact-case matching. */ orWhereNotLike(field: Field, pattern: string, caseSensitive?: boolean): ConditionGroup; orWhereColumn(field: Field, column: Field): ConditionGroup; orWhereColumn(field: Field, operator: string, column: Field): ConditionGroup; orWhereExists(subquery: ExistsSubquery): ConditionGroup; orWhereNotExists(subquery: ExistsSubquery): ConditionGroup; /** Membership test of `value` inside the array column `field` (OR-connected). */ orWhereArrayContains(field: Field, value: any): ConditionGroup; }