import type { ColumnBuilderBase, ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnBuilderRuntimeConfig, ColumnDataType, HasDefault, IsAutoincrement } from "../../column-builder.cjs"; import { ColumnBuilder } from "../../column-builder.cjs"; import type { ColumnBaseConfig } from "../../column.cjs"; import { Column } from "../../column.cjs"; import { entityKind } from "../../entity.cjs"; import type { SingleStoreTable } from "../table.cjs"; import type { Update } from "../../utils.cjs"; export interface SingleStoreColumnBuilderBase = ColumnBuilderBaseConfig, TTypeConfig extends object = object> extends ColumnBuilderBase { } export interface SingleStoreGeneratedColumnConfig { mode?: 'virtual' | 'stored'; } export declare abstract class SingleStoreColumnBuilder = ColumnBuilderBaseConfig & { data: any; }, TRuntimeConfig extends object = object, TTypeConfig extends object = object, TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig> extends ColumnBuilder implements SingleStoreColumnBuilderBase { static readonly [entityKind]: string; unique(name?: string): this; } export declare abstract class SingleStoreColumn = ColumnBaseConfig, TRuntimeConfig extends object = {}, TTypeConfig extends object = {}> extends Column { readonly table: SingleStoreTable; static readonly [entityKind]: string; constructor(table: SingleStoreTable, config: ColumnBuilderRuntimeConfig); } export type AnySingleStoreColumn> = {}> = SingleStoreColumn, TPartial>>>; export interface SingleStoreColumnWithAutoIncrementConfig { autoIncrement: boolean; } export declare abstract class SingleStoreColumnBuilderWithAutoIncrement = ColumnBuilderBaseConfig, TRuntimeConfig extends object = object, TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig> extends SingleStoreColumnBuilder { static readonly [entityKind]: string; constructor(name: NonNullable, dataType: T['dataType'], columnType: T['columnType']); autoincrement(): IsAutoincrement>; } export declare abstract class SingleStoreColumnWithAutoIncrement = ColumnBaseConfig, TRuntimeConfig extends object = object> extends SingleStoreColumn { static readonly [entityKind]: string; readonly autoIncrement: boolean; }