import type { ColumnBuilderBaseConfig, MakeColumnConfig } from '../../column-builder.js'; import type { ColumnBaseConfig } from '../../column.js'; import { entityKind } from '../../entity.js'; import type { AnyPgTable } from '../table.js'; import { type Equal } from '../../utils.js'; import { PgColumn } from './common.js'; import { PgDateColumnBaseBuilder } from './date.common.js'; export type PgTimestampBuilderInitial = PgTimestampBuilder<{ name: TName; dataType: 'date'; columnType: 'PgTimestamp'; data: Date; driverParam: string; enumValues: undefined; }>; export declare class PgTimestampBuilder> extends PgDateColumnBaseBuilder { static readonly [entityKind]: string; constructor(name: T['name'], withTimezone: boolean, precision: number | undefined); /** @internal */ build(table: AnyPgTable<{ name: TTableName; }>): PgTimestamp>; } export declare class PgTimestamp> extends PgColumn { static readonly [entityKind]: string; readonly withTimezone: boolean; readonly precision: number | undefined; constructor(table: AnyPgTable<{ name: T['tableName']; }>, config: PgTimestampBuilder['config']); getSQLType(): string; mapFromDriverValue(value: Date | string): Date; mapToDriverValue: (value: Date) => string; } export type PgTimestampStringBuilderInitial = PgTimestampStringBuilder<{ name: TName; dataType: 'string'; columnType: 'PgTimestampString'; data: string; driverParam: string; enumValues: undefined; }>; export declare class PgTimestampStringBuilder> extends PgDateColumnBaseBuilder { static readonly [entityKind]: string; constructor(name: T['name'], withTimezone: boolean, precision: number | undefined); /** @internal */ build(table: AnyPgTable<{ name: TTableName; }>): PgTimestampString>; } export declare class PgTimestampString> extends PgColumn { static readonly [entityKind]: string; readonly withTimezone: boolean; readonly precision: number | undefined; constructor(table: AnyPgTable<{ name: T['tableName']; }>, config: PgTimestampStringBuilder['config']); getSQLType(): string; mapFromDriverValue(value: Date | string): string; } export type Precision = 0 | 1 | 2 | 3 | 4 | 5 | 6; export interface PgTimestampConfig { mode?: TMode; precision?: Precision; withTimezone?: boolean; } export declare function timestamp(): PgTimestampBuilderInitial<''>; export declare function timestamp(config?: PgTimestampConfig): Equal extends true ? PgTimestampStringBuilderInitial<''> : PgTimestampBuilderInitial<''>; export declare function timestamp(name: TName, config?: PgTimestampConfig): Equal extends true ? PgTimestampStringBuilderInitial : PgTimestampBuilderInitial; //# sourceMappingURL=timestamp.d.ts.map