import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs"; import type { ColumnBaseConfig } from "../../column.cjs"; import { entityKind } from "../../entity.cjs"; import type { AnySingleStoreTable } from "../table.cjs"; import { type Equal } from "../../utils.cjs"; import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.cjs"; export type SingleStoreDateTimeBuilderInitial = SingleStoreDateTimeBuilder<{ name: TName; dataType: 'date'; columnType: 'SingleStoreDateTime'; data: Date; driverParam: string | number; enumValues: undefined; generated: undefined; }>; export declare class SingleStoreDateTimeBuilder> extends SingleStoreColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class SingleStoreDateTime> extends SingleStoreColumn { static readonly [entityKind]: string; constructor(table: AnySingleStoreTable<{ name: T['tableName']; }>, config: SingleStoreDateTimeBuilder['config']); getSQLType(): string; mapToDriverValue(value: Date): unknown; mapFromDriverValue(value: string): Date; } export type SingleStoreDateTimeStringBuilderInitial = SingleStoreDateTimeStringBuilder<{ name: TName; dataType: 'string'; columnType: 'SingleStoreDateTimeString'; data: string; driverParam: string | number; enumValues: undefined; generated: undefined; }>; export declare class SingleStoreDateTimeStringBuilder> extends SingleStoreColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class SingleStoreDateTimeString> extends SingleStoreColumn { static readonly [entityKind]: string; constructor(table: AnySingleStoreTable<{ name: T['tableName']; }>, config: SingleStoreDateTimeStringBuilder['config']); getSQLType(): string; } export interface SingleStoreDatetimeConfig { mode?: TMode; } export declare function datetime(): SingleStoreDateTimeBuilderInitial<''>; export declare function datetime(config?: SingleStoreDatetimeConfig): Equal extends true ? SingleStoreDateTimeStringBuilderInitial<''> : SingleStoreDateTimeBuilderInitial<''>; export declare function datetime(name: TName, config?: SingleStoreDatetimeConfig): Equal extends true ? SingleStoreDateTimeStringBuilderInitial : SingleStoreDateTimeBuilderInitial;