import { CharacterArg, TextType } from '..'; import { AnyExpression, Expression } from '../../expressions'; import { ConstraintConfig } from '../../functions'; import { Type } from '../index'; import { DateArg } from './date'; import { IntervalArg, IntervalType } from './interval'; import { TimestampType } from './timestamp'; export declare const TIME: (precission?: number | undefined) => TimeType; export declare type TimeTypeLiteral = TimeType['input']; export declare type TimeTypeArg = TimeType['argument']; export interface TimeType extends Type<'TIME', R> { expression: TimeExpression>; argument: Expression | this['input']; required(conf?: ConstraintConfig): TimeType; } export declare const TIMETZ: (precission?: number | undefined) => TimetzType; export declare type TimetzTypeLiteral = TimeType['input']; export declare type TimetzTypeArg = TimeType['argument']; export interface TimetzType extends Type<'TIMETZ', R> { expression: TimeExpression>; argument: Expression | this['input']; required(conf?: ConstraintConfig): TimetzType; } export declare type TimeTypes = TimeType | TimetzType; export declare type TimeLiteral = TimeTypes['input']; export declare type TimeArg = TimeTypes['argument']; export interface TimeExpression extends AnyExpression { concat(arg: CharacterArg): Expression>; add(arg: DateArg): Expression>; add(arg: IntervalArg): TimeExpression; sub(arg: TimeArg): Expression>; sub(arg: IntervalArg): TimeExpression; tz(arg: CharacterArg): TimeExpression>; }