import type { ColumnBuilderBaseConfig } from "../../column-builder.js"; import type { ColumnBaseConfig } from "../../column.js"; import { entityKind } from "../../entity.js"; import type { AnyMySqlTable } from "../table.js"; import { type Equal } from "../../utils.js"; import { MySqlColumn, MySqlColumnBuilder } from "./common.js"; export type MySqlDateBuilderInitial = MySqlDateBuilder<{ name: TName; dataType: 'date'; columnType: 'MySqlDate'; data: Date; driverParam: string | number; enumValues: undefined; }>; export declare class MySqlDateBuilder> extends MySqlColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class MySqlDate> extends MySqlColumn { static readonly [entityKind]: string; constructor(table: AnyMySqlTable<{ name: T['tableName']; }>, config: MySqlDateBuilder['config']); getSQLType(): string; mapFromDriverValue(value: string): Date; } export type MySqlDateStringBuilderInitial = MySqlDateStringBuilder<{ name: TName; dataType: 'string'; columnType: 'MySqlDateString'; data: string; driverParam: string | number; enumValues: undefined; }>; export declare class MySqlDateStringBuilder> extends MySqlColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class MySqlDateString> extends MySqlColumn { static readonly [entityKind]: string; constructor(table: AnyMySqlTable<{ name: T['tableName']; }>, config: MySqlDateStringBuilder['config']); getSQLType(): string; } export interface MySqlDateConfig { mode?: TMode; } export declare function date(): MySqlDateBuilderInitial<''>; export declare function date(config?: MySqlDateConfig): Equal extends true ? MySqlDateStringBuilderInitial<''> : MySqlDateBuilderInitial<''>; export declare function date(name: TName, config?: MySqlDateConfig): Equal extends true ? MySqlDateStringBuilderInitial : MySqlDateBuilderInitial;