import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs"; import type { ColumnBaseConfig } from "../../column.cjs"; import { entityKind } from "../../entity.cjs"; import { type Equal } from "../../utils.cjs"; import { PgColumn } from "./common.cjs"; import { PgDateColumnBaseBuilder } from "./date.common.cjs"; export type PgDateBuilderInitial = PgDateBuilder<{ name: TName; dataType: 'date'; columnType: 'PgDate'; data: Date; driverParam: string; enumValues: undefined; }>; export declare class PgDateBuilder> extends PgDateColumnBaseBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class PgDate> extends PgColumn { static readonly [entityKind]: string; getSQLType(): string; mapFromDriverValue(value: string): Date; mapToDriverValue(value: Date): string; } export type PgDateStringBuilderInitial = PgDateStringBuilder<{ name: TName; dataType: 'string'; columnType: 'PgDateString'; data: string; driverParam: string; enumValues: undefined; }>; export declare class PgDateStringBuilder> extends PgDateColumnBaseBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class PgDateString> extends PgColumn { static readonly [entityKind]: string; getSQLType(): string; } export interface PgDateConfig { mode: T; } export declare function date(): PgDateStringBuilderInitial<''>; export declare function date(config?: PgDateConfig): Equal extends true ? PgDateBuilderInitial<''> : PgDateStringBuilderInitial<''>; export declare function date(name: TName, config?: PgDateConfig): Equal extends true ? PgDateBuilderInitial : PgDateStringBuilderInitial;