import { BooleanType, CharacterArg, TextType } from '../'; import { AnyExpression, Expression } from '../../expressions'; import { ConstraintConfig } from '../../functions'; import { Type } from '../index'; import { TSVectorArg } from './tsvector'; export declare const TSQUERY: () => TSQueryType; export declare type TSQueryArg = TSQueryType['argument']; export interface TSQueryType extends Type<'TSQUERY', R> { expression: TSQueryExpression; argument: Expression | this['input']; required(conf?: ConstraintConfig): TSQueryType; } export interface TSQueryExpression extends AnyExpression> { concat(arg: CharacterArg): Expression>; match(arg: TSVectorArg): Expression>; also(arg: TSQueryArg): Expression>; either(arg: TSQueryArg): Expression>; no(): Expression>; successive(arg: TSQueryArg): Expression>; }