import { ColumnBuilderBaseConfig, entityKind, MakeColumnConfig, HasDefault, ColumnBaseConfig, ColumnBuilderRuntimeConfig } from 'drizzle-orm'; import { MySqlColumnBuilder, AnyMySqlTable, MySqlColumn } from 'drizzle-orm/mysql-core'; type MySqlCuid2Config = { length: number; prefix?: string; }; type MySqlCuid2BuilderInitial = Omit, 'default' | '$default' | '$defaultFn'>; declare class MySqlCuid2Builder> extends MySqlColumnBuilder { static readonly [entityKind]: string; private length; private prefix?; constructor(name: T['name']); build(table: AnyMySqlTable<{ name: TTableName; }>): MySqlCuid2>; /*** * Creates a random `cuid2` value as the default value for the column. * The function will be called when the row is inserted, and the returned value will be used as the column value. */ defaultRandom(): HasDefault; /*** * Sets the length of the CUID2 value. * @param length The length of the CUID2 value (default: 24) */ setLength(length: number): this; /*** * Sets the prefix for the CUID2 value. * @param prefix The prefix to prepend to the CUID2 value */ setPrefix(prefix: string): this; } declare class MySqlCuid2> extends MySqlColumn { static readonly [entityKind]: string; private length; private prefix?; constructor(table: AnyMySqlTable<{ name: string; }>, config: ColumnBuilderRuntimeConfig, length: number, prefix?: string); getSQLType(): string; } declare function cuid2(): MySqlCuid2BuilderInitial<''>; declare function cuid2(name: TName): MySqlCuid2BuilderInitial; export { MySqlCuid2, MySqlCuid2Builder, type MySqlCuid2BuilderInitial, type MySqlCuid2Config, cuid2 };