AK-21/Graphite-Industrial-Intelligence
0
1import type { ColumnBuilderBaseConfig } from "../../column-builder.js";2import type { ColumnBaseConfig } from "../../column.js";3import { entityKind } from "../../entity.js";4import { type Equal } from "../../utils.js";5import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";6export type SQLiteNumericBuilderInitial<TName extends string> = SQLiteNumericBuilder<{7 name: TName;8 dataType: 'string';9 columnType: 'SQLiteNumeric';10 data: string;11 driverParam: string;12 enumValues: undefined;13}>;14export declare class SQLiteNumericBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteNumeric'>> extends SQLiteColumnBuilder<T> {15 static readonly [entityKind]: string;16 constructor(name: T['name']);17}18export declare class SQLiteNumeric<T extends ColumnBaseConfig<'string', 'SQLiteNumeric'>> extends SQLiteColumn<T> {19 static readonly [entityKind]: string;20 mapFromDriverValue(value: unknown): string;21 getSQLType(): string;22}23export type SQLiteNumericNumberBuilderInitial<TName extends string> = SQLiteNumericNumberBuilder<{24 name: TName;25 dataType: 'number';26 columnType: 'SQLiteNumericNumber';27 data: number;28 driverParam: string;29 enumValues: undefined;30}>;31export declare class SQLiteNumericNumberBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteNumericNumber'>> extends SQLiteColumnBuilder<T> {32 static readonly [entityKind]: string;33 constructor(name: T['name']);34}35export declare class SQLiteNumericNumber<T extends ColumnBaseConfig<'number', 'SQLiteNumericNumber'>> extends SQLiteColumn<T> {36 static readonly [entityKind]: string;37 mapFromDriverValue(value: unknown): number;38 mapToDriverValue: StringConstructor;39 getSQLType(): string;40}41export type SQLiteNumericBigIntBuilderInitial<TName extends string> = SQLiteNumericBigIntBuilder<{42 name: TName;43 dataType: 'bigint';44 columnType: 'SQLiteNumericBigInt';45 data: bigint;46 driverParam: string;47 enumValues: undefined;48}>;49export declare class SQLiteNumericBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'SQLiteNumericBigInt'>> extends SQLiteColumnBuilder<T> {50 static readonly [entityKind]: string;51 constructor(name: T['name']);52}53export declare class SQLiteNumericBigInt<T extends ColumnBaseConfig<'bigint', 'SQLiteNumericBigInt'>> extends SQLiteColumn<T> {54 static readonly [entityKind]: string;55 mapFromDriverValue: BigIntConstructor;56 mapToDriverValue: StringConstructor;57 getSQLType(): string;58}59export type SQLiteNumericConfig<T extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint'> = {60 mode: T;61};62export declare function numeric<TMode extends SQLiteNumericConfig['mode']>(config?: SQLiteNumericConfig<TMode>): Equal<TMode, 'number'> extends true ? SQLiteNumericNumberBuilderInitial<''> : Equal<TMode, 'bigint'> extends true ? SQLiteNumericBigIntBuilderInitial<''> : SQLiteNumericBuilderInitial<''>;63export declare function numeric<TName extends string, TMode extends SQLiteNumericConfig['mode']>(name: TName, config?: SQLiteNumericConfig<TMode>): Equal<TMode, 'number'> extends true ? SQLiteNumericNumberBuilderInitial<TName> : Equal<TMode, 'bigint'> extends true ? SQLiteNumericBigIntBuilderInitial<TName> : SQLiteNumericBuilderInitial<TName>;64 