import { CharacterArg, TextType } from '..'; import { AnyExpression, Expression } from '../../expressions'; import { ConstraintConfig } from '../../functions'; import { Type } from '../index'; import { IntervalArg, IntervalType } from './interval'; export declare const TIMESTAMP: (precission?: number | undefined) => TimestampType; export declare type TimestampTypeArg = TimestampType['argument']; export interface TimestampType extends Type<'TIMESTAMP', R> { expression: TimestampExpression>; argument: Expression | this['input']; required(conf?: ConstraintConfig): TimestampType; } export declare const TIMESTAMPTZ: (precission?: number | undefined) => TimestamptzType; export declare type TimestamptzTypeLiteral = TimestamptzType['input']; export declare type TimestamptzTypeArg = TimestamptzType['argument']; export interface TimestamptzType extends Type<'TIMESTAMPTZ', R> { expression: TimestampExpression>; argument: Expression | this['input']; required(conf?: ConstraintConfig): TimestamptzType; } export declare type TimestampTypes = TimestampType | TimestamptzType; export declare type TimestampArg = TimestampTypes['argument']; export interface TimestampExpression extends AnyExpression { concat(arg: CharacterArg): Expression>; add(arg: IntervalArg): TimestampExpression; sub(arg: IntervalArg): TimestampExpression; sub(arg: T['argument']): Expression>; tz(arg: CharacterArg): TimestampExpression; }