/**
 * Generic operators (all column types except json, jsonb)
 */
interface GenericOperator<T> {
    _eq?: T;
    _neq?: T;
    _gt?: T;
    _gte?: T;
    _lt?: T;
    _lte?: T;
    _in?: Array<T>;
    _nin?: Array<T>;
    _is_null?: boolean;
}
/** expression to compare columns of type Int. All fields are combined with logical 'AND'. */
interface NumberOperator extends GenericOperator<number> {
}
/** expression to compare columns of type String. All fields are combined with logical 'AND'. */
interface StringOperator extends GenericOperator<string> {
    _ilike?: string;
    _like?: string;
    _nilike?: string;
    _nlike?: string;
    _nsimilar?: string;
    _similar?: string;
    _regex?: string;
    _iregex?: string;
    _nregex?: string;
    _niregex?: string;
}
/** expression to compare columns of type json. All fields are combined with logical 'AND'. */
interface JsonOperator extends GenericOperator<number | string | object> {
    _contained_in?: object;
    _contains?: object;
    _has_key?: string;
    _has_keys_any?: string[];
    _has_keys_all?: string[];
}
export type Operator = NumberOperator | StringOperator | JsonOperator;
export type MultiConditionFilter = "_and" | "_or";
type HasuraOperator = NumberOperator & StringOperator & JsonOperator;
export type HasuraOperatorKey = keyof HasuraOperator;
export interface BoolExp {
    _and?: BoolExp[];
    _or?: BoolExp[];
    _not?: BoolExp;
    [key: string]: Operator | BoolExp | BoolExp[];
}
export {};
//# sourceMappingURL=boolexp.d.ts.map