import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs"; import type { ColumnBaseConfig } from "../../column.cjs"; import { entityKind } from "../../entity.cjs"; import type { AnyMySqlTable } from "../table.cjs"; import { type Equal } from "../../utils.cjs"; import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs"; export type MySqlDateTimeBuilderInitial = MySqlDateTimeBuilder<{ name: TName; dataType: 'date'; columnType: 'MySqlDateTime'; data: Date; driverParam: string | number; enumValues: undefined; }>; export declare class MySqlDateTimeBuilder> extends MySqlColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name'], config: MySqlDatetimeConfig | undefined); } export declare class MySqlDateTime> extends MySqlColumn { static readonly [entityKind]: string; readonly fsp: number | undefined; constructor(table: AnyMySqlTable<{ name: T['tableName']; }>, config: MySqlDateTimeBuilder['config']); getSQLType(): string; mapToDriverValue(value: Date): unknown; mapFromDriverValue(value: string): Date; } export type MySqlDateTimeStringBuilderInitial = MySqlDateTimeStringBuilder<{ name: TName; dataType: 'string'; columnType: 'MySqlDateTimeString'; data: string; driverParam: string | number; enumValues: undefined; }>; export declare class MySqlDateTimeStringBuilder> extends MySqlColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name'], config: MySqlDatetimeConfig | undefined); } export declare class MySqlDateTimeString> extends MySqlColumn { static readonly [entityKind]: string; readonly fsp: number | undefined; constructor(table: AnyMySqlTable<{ name: T['tableName']; }>, config: MySqlDateTimeStringBuilder['config']); getSQLType(): string; } export type DatetimeFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6; export interface MySqlDatetimeConfig { mode?: TMode; fsp?: DatetimeFsp; } export declare function datetime(): MySqlDateTimeBuilderInitial<''>; export declare function datetime(config?: MySqlDatetimeConfig): Equal extends true ? MySqlDateTimeStringBuilderInitial<''> : MySqlDateTimeBuilderInitial<''>; export declare function datetime(name: TName, config?: MySqlDatetimeConfig): Equal extends true ? MySqlDateTimeStringBuilderInitial : MySqlDateTimeBuilderInitial;