import type { ColumnBuilderBaseConfig } from "../../column-builder.js"; import type { ColumnBaseConfig } from "../../column.js"; import { entityKind } from "../../entity.js"; import { type Equal } from "../../utils.js"; import { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from "./common.js"; export type MySqlDecimalBuilderInitial = MySqlDecimalBuilder<{ name: TName; dataType: 'string'; columnType: 'MySqlDecimal'; data: string; driverParam: string; enumValues: undefined; }>; export declare class MySqlDecimalBuilder> extends MySqlColumnBuilderWithAutoIncrement { static readonly [entityKind]: string; constructor(name: T['name'], config: MySqlDecimalConfig | undefined); } export declare class MySqlDecimal> extends MySqlColumnWithAutoIncrement { static readonly [entityKind]: string; readonly precision: number | undefined; readonly scale: number | undefined; readonly unsigned: boolean | undefined; mapFromDriverValue(value: unknown): string; getSQLType(): string; } export type MySqlDecimalNumberBuilderInitial = MySqlDecimalNumberBuilder<{ name: TName; dataType: 'number'; columnType: 'MySqlDecimalNumber'; data: number; driverParam: string; enumValues: undefined; }>; export declare class MySqlDecimalNumberBuilder> extends MySqlColumnBuilderWithAutoIncrement { static readonly [entityKind]: string; constructor(name: T['name'], config: MySqlDecimalConfig | undefined); } export declare class MySqlDecimalNumber> extends MySqlColumnWithAutoIncrement { static readonly [entityKind]: string; readonly precision: number | undefined; readonly scale: number | undefined; readonly unsigned: boolean | undefined; mapFromDriverValue(value: unknown): number; mapToDriverValue: StringConstructor; getSQLType(): string; } export type MySqlDecimalBigIntBuilderInitial = MySqlDecimalBigIntBuilder<{ name: TName; dataType: 'bigint'; columnType: 'MySqlDecimalBigInt'; data: bigint; driverParam: string; enumValues: undefined; }>; export declare class MySqlDecimalBigIntBuilder> extends MySqlColumnBuilderWithAutoIncrement { static readonly [entityKind]: string; constructor(name: T['name'], config: MySqlDecimalConfig | undefined); } export declare class MySqlDecimalBigInt> extends MySqlColumnWithAutoIncrement { static readonly [entityKind]: string; readonly precision: number | undefined; readonly scale: number | undefined; readonly unsigned: boolean | undefined; mapFromDriverValue: BigIntConstructor; mapToDriverValue: StringConstructor; getSQLType(): string; } export interface MySqlDecimalConfig { precision?: number; scale?: number; unsigned?: boolean; mode?: T; } export declare function decimal(): MySqlDecimalBuilderInitial<''>; export declare function decimal(config: MySqlDecimalConfig): Equal extends true ? MySqlDecimalNumberBuilderInitial<''> : Equal extends true ? MySqlDecimalBigIntBuilderInitial<''> : MySqlDecimalBuilderInitial<''>; export declare function decimal(name: TName, config?: MySqlDecimalConfig): Equal extends true ? MySqlDecimalNumberBuilderInitial : Equal extends true ? MySqlDecimalBigIntBuilderInitial : MySqlDecimalBuilderInitial;