import { BooleanType, DateType, DoubleType, CharacterArg, TimeType, TimestampType, TimestampArg, DoubleArg, IntegerArg, DateArg, IntervalArg, TimeArg, TextType, IntervalType } from '../types'; import { Expression } from '../expressions'; export declare function AGE(a: TimestampArg, b?: TimestampArg): Expression; export declare function CLOCK_TIMESTAMP(): Expression; export declare function CURRENT_DATE(): Expression; export declare function CURRENT_TIME(precision?: IntegerArg): Expression; export declare function CURRENT_TIMESTAMP(precision?: IntegerArg): Expression; export declare function DATE_PART(a: CharacterArg, b: TimestampArg | IntervalArg): Expression; export declare function DATE_TRUNC(a: CharacterArg, b: TimestampArg): Expression; export declare function DATE_TRUNC(a: CharacterArg, b: TimestampArg, c: CharacterArg): Expression; export declare function DATE_TRUNC(a: CharacterArg, b: IntervalArg): Expression; export declare function EXTRACT(field: CharacterArg, from: TimestampArg | IntervalArg): Expression; export declare function ISFINITE(date: DateArg | IntervalArg | TimestampArg): Expression; export declare function JUSTIFY_DAYS(interval: IntervalArg): Expression; export declare function JUSTIFY_HOURS(interval: IntervalArg): Expression; export declare function JUSTIFY_INTERVAL(interval: IntervalArg): Expression; export declare function LOCALTIME(precision?: IntegerArg): Expression; export declare function LOCALTIMESTAMP(precision?: IntegerArg): Expression; export declare function MAKE_DATE(year: IntegerArg, month: IntegerArg, day: IntegerArg): Expression; interface IntervalMaker { years?: IntegerArg; months?: IntegerArg; weeks?: IntegerArg; days?: IntegerArg; hours?: IntegerArg; mins?: IntegerArg; secs?: DoubleArg; } export declare function MAKE_INTERVAL(interval: IntervalMaker): Expression; export declare function MAKE_TIME(hour: IntegerArg, minute: IntegerArg, second: DoubleArg): Expression; export declare function MAKE_TIMESTAMP(year: IntegerArg, month: IntegerArg, day: IntegerArg, hour: IntegerArg, minute: IntegerArg, second: DoubleArg): Expression; export declare function MAKE_TIMESTAMPTZ(year: IntegerArg, month: IntegerArg, day: IntegerArg, hour: IntegerArg, minute: IntegerArg, second: DoubleArg, timezone?: CharacterArg): Expression; export declare function NOW(): Expression; export declare function STATEMENT_TIMESTAMP(): Expression; export declare function TIMEOFDAY(): Expression; export declare function TRANSACTION_TIMESTAMP(): Expression; export declare function OVERLAPS(start1: T, end1: T | IntervalArg, start2: T, end2: T | IntervalArg): Expression; export declare function TO_TIMESTAMP(a: DoubleArg): Expression; export declare function TO_TIMESTAMP(date: CharacterArg, to: CharacterArg): Expression; export declare function TO_DATE(date: CharacterArg, to: CharacterArg): Expression; export {};