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 { SQLiteColumn, SQLiteColumnBuilder } from "./common.cjs"; export type SQLiteNumericBuilderInitial = SQLiteNumericBuilder<{ name: TName; dataType: 'string'; columnType: 'SQLiteNumeric'; data: string; driverParam: string; enumValues: undefined; }>; export declare class SQLiteNumericBuilder> extends SQLiteColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class SQLiteNumeric> extends SQLiteColumn { static readonly [entityKind]: string; mapFromDriverValue(value: unknown): string; getSQLType(): string; } export type SQLiteNumericNumberBuilderInitial = SQLiteNumericNumberBuilder<{ name: TName; dataType: 'number'; columnType: 'SQLiteNumericNumber'; data: number; driverParam: string; enumValues: undefined; }>; export declare class SQLiteNumericNumberBuilder> extends SQLiteColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class SQLiteNumericNumber> extends SQLiteColumn { static readonly [entityKind]: string; mapFromDriverValue(value: unknown): number; mapToDriverValue: StringConstructor; getSQLType(): string; } export type SQLiteNumericBigIntBuilderInitial = SQLiteNumericBigIntBuilder<{ name: TName; dataType: 'bigint'; columnType: 'SQLiteNumericBigInt'; data: bigint; driverParam: string; enumValues: undefined; }>; export declare class SQLiteNumericBigIntBuilder> extends SQLiteColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class SQLiteNumericBigInt> extends SQLiteColumn { static readonly [entityKind]: string; mapFromDriverValue: BigIntConstructor; mapToDriverValue: StringConstructor; getSQLType(): string; } export type SQLiteNumericConfig = { mode: T; }; export declare function numeric(config?: SQLiteNumericConfig): Equal extends true ? SQLiteNumericNumberBuilderInitial<''> : Equal extends true ? SQLiteNumericBigIntBuilderInitial<''> : SQLiteNumericBuilderInitial<''>; export declare function numeric(name: TName, config?: SQLiteNumericConfig): Equal extends true ? SQLiteNumericNumberBuilderInitial : Equal extends true ? SQLiteNumericBigIntBuilderInitial : SQLiteNumericBuilderInitial;