import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs"; import type { ColumnBaseConfig } from "../../column.cjs"; import { entityKind } from "../../entity.cjs"; import type { AnyPgTable } from "../table.cjs"; import { type Equal } from "../../utils.cjs"; import { PgColumn } from "./common.cjs"; import { PgDateColumnBaseBuilder } from "./date.common.cjs"; 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); } 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: string) => Date | null; 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); } 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; } 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;