import { Constructor, Expression } from '../expressions'; import { ArrayType, BooleanType, IntegerType, TextType, JSONBType, JSONType, MathLiteral, CharacterArg } from '../types'; export declare function JSONOps(Base: T): { new (...args: any[]): { get(item: Expression | MathLiteral | CharacterArg): Expression | Expression; getText(item: Expression | MathLiteral | CharacterArg): Expression; getByPath(path: Expression> | Array): Expression | Expression; getTextByPath(path: Expression> | Array): Expression; includes(text: CharacterArg): Expression; includesAny(text: Expression> | Array): Expression; includesAll(text: Expression> | Array): Expression; unset(item: CharacterArg | Expression | MathLiteral): Expression; unsetAll(item: Expression> | Array): Expression; unsetByPath(path: Expression> | Array): Expression; jsonPathExist(path: CharacterArg): Expression; jsonPathCheck(path: CharacterArg): Expression; type: import("../types").Type, boolean, any>; alias?: string | undefined; columns?: string[] | undefined; as(alias: string, columns?: string[] | undefined): any; toQuery(start?: number): [string, any[]]; toSource(): import("..").Template; cast, boolean, any>>(type: NT): Expression; concat(operand: any): import("./any").AnyExpression, boolean, any>>; eq(operand: any): import("../types").BooleanExpression; ne(operand: any): import("../types").BooleanExpression; is(operand: boolean | "UNKNOWN" | null): import("../types").BooleanExpression; isNot(operand: boolean | "UNKNOWN" | null): import("../types").BooleanExpression; isDistinctFrom(operand: any): import("../types").BooleanExpression; isNotDistinctFrom(operand: any): import("../types").BooleanExpression; gt(operand: any): import("../types").BooleanExpression; lt(operand: any): import("../types").BooleanExpression; gte(operand: any): import("../types").BooleanExpression; lte(operand: any): import("../types").BooleanExpression; gl(operand: any): import("../types").BooleanExpression; between(from: any, to: any): import("../types").BooleanExpression; notBetween(from: any, to: any): import("../types").BooleanExpression; betweenSymetric(from: any, to: any): import("../types").BooleanExpression; notBetweenSymetric(from: any, to: any): import("../types").BooleanExpression; in(subquery: any): import("../types").BooleanExpression; in(...operands: any[]): import("../types").BooleanExpression; notIn(subquery: any): import("../types").BooleanExpression; notIn(...operands: any[]): import("../types").BooleanExpression; contain(arg: any): import("../types").BooleanExpression; contained(arg: any): import("../types").BooleanExpression; strings: string[]; literals: any[]; readonly text: string; readonly values: any[]; }; } & T;