@palmares/drizzle-engine
Version:
This is the engine that wraps the hole drizzle interface in a way palmares can understand and have full control of
462 lines • 73.2 kB
TypeScript
import { databaseAdapter } from '@palmares/databases';
import { ReturnTypeByType } from './types';
import type { DatabaseAdapter } from '@palmares/databases';
type allDrizzleTypes = (typeof import('drizzle-orm/postgres-js'))['drizzle'] | (typeof import('drizzle-orm/node-postgres'))['drizzle'] | (typeof import('drizzle-orm/neon-http'))['drizzle'] | (typeof import('drizzle-orm/xata-http'))['drizzle'] | (typeof import('drizzle-orm/pglite'))['drizzle'] | (typeof import('drizzle-orm/vercel-postgres'))['drizzle'] | (typeof import('drizzle-orm/aws-data-api/pg'))['drizzle'] | (typeof import('drizzle-orm/pg-proxy'))['drizzle'];
declare const drizzleDatabaseAdapter: {
new (): DatabaseAdapter<{
instance: ReturnTypeByType<TType, TDrizzleInstance extends ReturnTypeByType<TType, infer TSchema> ? TSchema : never>;
mainType: "postgres" | "mysql" | "sqlite";
type: string;
output: string;
closeCallback?: () => void | Promise<void>;
}, import("@palmares/databases").AdapterFields & {
fieldsParser: import("@palmares/databases").AdapterFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<any, any, any, any, {
type?: string;
} & import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | readonly [string, ...string[]] | [string, ...string[]] | import("drizzle-orm/pg-core").PgCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").PgDateConfig<"string" | "date"> | {
precision: number;
scale?: number;
} | {
precision?: number;
scale: number;
} | {
precision: number;
scale: number;
} | import("drizzle-orm/pg-core").IntervalConfig | import("drizzle-orm/pg-core").PgLineTypeConfig<"tuple" | "abc"> | import("drizzle-orm/pg-core").PgPointConfig<"tuple" | "xy"> | import("drizzle-orm/pg-core").PgTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").TimeConfig | import("drizzle-orm/pg-core").PgTimestampConfig<"string" | "date"> | import("drizzle-orm/pg-core").PgVarcharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/sqlite-core").BlobConfig<"bigint" | "buffer" | "json"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | {
mode?: "json" | undefined;
} | {
mode?: "text" | undefined;
length?: number;
enum?: readonly [string, ...string[]] | [string, ...string[]] | undefined;
} | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | import("drizzle-orm/mysql-core").MySqlBinaryConfig | import("drizzle-orm/mysql-core").MySqlCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").MySqlDateConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDatetimeConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDecimalConfig | import("drizzle-orm/mysql-core").MySqlDoubleConfig | import("drizzle-orm/mysql-core").MySqlFloatConfig | import("drizzle-orm/mysql-core").MySqlIntConfig | import("drizzle-orm/mysql-core").MySqlRealConfig | import("drizzle-orm/mysql-core").MySqlTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").TimeConfig | import("drizzle-orm/mysql-core").MySqlTimestampConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlVarbinaryOptions | import("drizzle-orm/mysql-core").MySqlVarCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | undefined, any>>) => Promise<string | {
fieldName: string;
primaryKey: boolean;
unique: boolean;
nullable: boolean;
dbIndex: boolean;
default: any;
autoincrement: boolean;
databaseName: string | undefined;
custom: {
type?: string;
} & import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | readonly [string, ...string[]] | [string, ...string[]] | import("drizzle-orm/pg-core").PgCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").PgDateConfig<"string" | "date"> | {
precision: number;
scale?: number;
} | {
precision?: number;
scale: number;
} | {
precision: number;
scale: number;
} | import("drizzle-orm/pg-core").IntervalConfig | import("drizzle-orm/pg-core").PgLineTypeConfig<"tuple" | "abc"> | import("drizzle-orm/pg-core").PgPointConfig<"tuple" | "xy"> | import("drizzle-orm/pg-core").PgTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").TimeConfig | import("drizzle-orm/pg-core").PgTimestampConfig<"string" | "date"> | import("drizzle-orm/pg-core").PgVarcharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/sqlite-core").BlobConfig<"bigint" | "buffer" | "json"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | {
mode?: "json" | undefined;
} | {
mode?: "text" | undefined;
length?: number;
enum?: readonly [string, ...string[]] | [string, ...string[]] | undefined;
} | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | import("drizzle-orm/mysql-core").MySqlBinaryConfig | import("drizzle-orm/mysql-core").MySqlCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").MySqlDateConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDatetimeConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDecimalConfig | import("drizzle-orm/mysql-core").MySqlDoubleConfig | import("drizzle-orm/mysql-core").MySqlFloatConfig | import("drizzle-orm/mysql-core").MySqlIntConfig | import("drizzle-orm/mysql-core").MySqlRealConfig | import("drizzle-orm/mysql-core").MySqlTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").TimeConfig | import("drizzle-orm/mysql-core").MySqlTimestampConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlVarbinaryOptions | import("drizzle-orm/mysql-core").MySqlVarCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | undefined, any>;
}>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"field" | "auto" | "big-auto" | "big-integer" | "boolean" | "char" | "date" | "decimal" | "enum" | "foreign-key" | "integer" | "text" | "uuid">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"field" | "auto" | "big-auto" | "big-integer" | "boolean" | "char" | "date" | "decimal" | "enum" | "foreign-key" | "integer" | "text" | "uuid">) => Promise<any>;
};
compare: ((_oldCustomArguments: any, _newCustomArguments: any) => boolean) | undefined;
fieldToString: ((_customArguments: any) => {
result: string;
imports: import("@palmares/databases/dist/src/models/fields/types").CustomImportsForFieldType[];
}) | undefined;
autoFieldParser: import("@palmares/databases").AdapterIntegerFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"integer", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlIntConfig | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string> | import("drizzle-orm/pg-core").PgIntegerBuilder<{
name: string;
dataType: "number";
columnType: "PgInteger";
data: number;
driverParam: number | string;
enumValues: undefined;
generated: undefined;
}>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
};
bigAutoFieldParser: undefined;
bigIntegerFieldParser: import("@palmares/databases").AdapterBigIntegerFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"big-integer", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/mysql-core").MySqlBigInt53BuilderInitial<string> | import("drizzle-orm/mysql-core").MySqlBigInt64BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigInt53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigInt64BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"big-integer">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"big-integer">) => Promise<any>;
};
charFieldParser: import("@palmares/databases").AdapterCharFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"char", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").varchar>[1] | Parameters<typeof import("drizzle-orm/pg-core").varchar>[1], ReturnType<typeof import("drizzle-orm/mysql-core").varchar> | ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").varchar>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"char">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"char">) => Promise<any>;
};
dateFieldParser: import("@palmares/databases").AdapterDateFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"date", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").datetime>[1] | Parameters<typeof import("drizzle-orm/pg-core").timestamp>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/mysql-core").datetime> | ReturnType<typeof import("drizzle-orm/pg-core").timestamp>>>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"date">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"date">) => Promise<any>;
};
decimalFieldParser: import("@palmares/databases").AdapterDecimalFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"decimal", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/mysql-core").decimal>[1] | Parameters<typeof import("drizzle-orm/pg-core").numeric>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").real> | ReturnType<typeof import("drizzle-orm/pg-core").numeric> | ReturnType<typeof import("drizzle-orm/sqlite-core").real>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"decimal">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"decimal">) => Promise<any>;
};
foreignKeyFieldParser: import("@palmares/databases").AdapterForeignKeyFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"foreign-key", any, InstanceType<typeof import("./fields/field").fieldParser>, any>) => Promise<undefined>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"foreign-key">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"foreign-key">) => Promise<any>;
};
integerFieldParser: import("@palmares/databases").AdapterIntegerFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"integer", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlIntConfig | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string> | import("drizzle-orm/pg-core").PgIntegerBuilder<{
name: string;
dataType: "number";
columnType: "PgInteger";
data: number;
driverParam: number | string;
enumValues: undefined;
generated: undefined;
}>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
};
textFieldParser: import("@palmares/databases").AdapterTextFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"text", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").text>[1] | Parameters<typeof import("drizzle-orm/pg-core").text>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/mysql-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").text>>>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"text">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"text">) => Promise<any>;
};
uuidFieldParser: import("@palmares/databases").AdapterUuidFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"uuid", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").varchar>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").uuid> | ReturnType<typeof import("drizzle-orm/mysql-core").varchar>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"uuid">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"uuid">) => Promise<any>;
};
enumFieldParser: import("@palmares/databases").AdapterEnumFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"enum", any, InstanceType<typeof import("./fields/field").fieldParser>, any>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"enum">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"enum">) => Promise<any>;
};
customFieldsParser: Record<string, import("@palmares/databases").AdapterFieldParser>;
booleanFieldParser: import("@palmares/databases").AdapterBooleanFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"boolean", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").integer>[1], ReturnType<typeof import("drizzle-orm/mysql-core").boolean> | ReturnType<typeof import("drizzle-orm/pg-core").boolean> | ReturnType<typeof import("drizzle-orm/sqlite-core").integer>>>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"boolean">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"boolean">) => Promise<any>;
};
lazyEvaluateField: (engine: any, modelName: string, translatedModel: any, fieldAttributes: Parameters<Parameters<typeof import("@palmares/databases").adapterFields>[0]["lazyEvaluateField"]>[3], fieldTranslated: any, parseAgain: Parameters<Parameters<typeof import("@palmares/databases").adapterFields>[0]["lazyEvaluateField"]>[5]) => Promise<any>;
translateField: ((_Adapter: DatabaseAdapter, _field: import("@palmares/databases").Field, _defaultTranslateFieldCallback: (_field: import("@palmares/databases").Field) => Promise<any>) => Promise<any>) | undefined;
}, import("@palmares/databases").AdapterModels<any> & {
translateOptions: (_engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, modelName: string, options: import("@palmares/databases").ModelOptionsType) => Promise<object>;
translateFields: ((_engine: DatabaseAdapter, _modelName: string, _fieldEntriesOfModel: [string, import("@palmares/databases").Field][], _model: import("@palmares/databases").ModelBaseClass, _defaultTranslateFieldCallback: (_field: import("@palmares/databases").Field) => Promise<any>, _defaultTranslateFieldsCallback: () => Promise<{
[key: string]: any;
}>) => Promise<{
[key: string]: any;
}>) | undefined;
translate: (_engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, _modelName: string, _model: import("@palmares/databases").ModelBaseClass, _fieldEntriesOfModel: [string, import("@palmares/databases").Field<{
create: any;
read: any;
update: any;
}, {
unique: false;
allowNull: false;
dbIndex: false;
underscored: true;
hasDefaultValue: false;
isPrimaryKey: false;
auto: false;
defaultValue: undefined;
typeName: string;
databaseName: undefined;
engineInstance: DatabaseAdapter;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>>][], _modelOptions: Omit<import("@palmares/databases").ModelOptionsType, "customOptions">, _customModelOptions: {
userOptions: any;
fields: any;
}, defaultTranslateCallback: () => Promise<{
options: any;
fields: any;
}>, _: (_field: import("@palmares/databases").Field) => Promise<any>, __: () => Promise<{
[key: string]: any;
}>) => Promise<{
fields: Record<string, string>;
options: import("@palmares/databases").ModelOptionsType;
}>;
compare: ((_oldCustomArguments: any, _newCustomArguments: any) => boolean) | undefined;
modelToString: ((_customArguments: any) => {
result: string;
imports: {
import: string;
from: string;
}[];
}) | undefined;
afterModelsTranslation: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, models: [string, any][]) => Promise<[string, any][]>;
setGetTranslatedModels: <TGetTranslatedModelsFunction extends () => any>(getTranslatedModels: TGetTranslatedModelsFunction) => Omit<import("@palmares/databases").AdapterModels<any>, "getTranslatedModels"> & {
getTranslatedModels: TGetTranslatedModelsFunction;
};
}, import("@palmares/databases").AdapterQuery & {
get: import("@palmares/databases").AdapterGetQuery & {
queryData: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, args: {
modelOfEngineInstance: any;
search: any;
fields: readonly string[];
ordering?: any;
limit?: number;
offset?: number | string;
}) => Promise<any>;
};
set: import("@palmares/databases").AdapterSetQuery & {
queryData: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, args: {
modelOfEngineInstance: any;
search: any;
data: any;
transaction?: any;
}) => Promise<any>;
};
remove: import("@palmares/databases").AdapterRemoveQuery & {
queryData: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, args: {
modelOfEngineInstance: any;
search: any;
shouldNotDelete?: boolean;
transaction?: any;
}) => Promise<any>;
};
search: import("@palmares/databases").AdapterSearchQuery & {
parseSearchFieldValue: <TOperationType extends import("@palmares/databases").OperatorsOfQuery>(operationType: TOperationType, key: string, model: any, value: any, result: any, options: any) => Promise<void>;
};
ordering: import("@palmares/databases").AdapterOrderingQuery & {
parseOrdering: (model: any, ordering: string[]) => Promise<import("drizzle-orm").SQL<unknown>[]>;
};
}, import("@palmares/databases").AdapterMigrations>;
"new"(..._args: any[]): [any, () => DatabaseAdapter];
} & (new () => DatabaseAdapter<{
instance: ReturnTypeByType<TType, TDrizzleInstance extends ReturnTypeByType<TType, infer TSchema> ? TSchema : never>;
mainType: "postgres" | "mysql" | "sqlite";
type: string;
output: string;
closeCallback?: () => void | Promise<void>;
}, import("@palmares/databases").AdapterFields & {
fieldsParser: import("@palmares/databases").AdapterFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<any, any, any, any, {
type?: string;
} & import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | readonly [string, ...string[]] | [string, ...string[]] | import("drizzle-orm/pg-core").PgCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").PgDateConfig<"string" | "date"> | {
precision: number;
scale?: number;
} | {
precision?: number;
scale: number;
} | {
precision: number;
scale: number;
} | import("drizzle-orm/pg-core").IntervalConfig | import("drizzle-orm/pg-core").PgLineTypeConfig<"tuple" | "abc"> | import("drizzle-orm/pg-core").PgPointConfig<"tuple" | "xy"> | import("drizzle-orm/pg-core").PgTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").TimeConfig | import("drizzle-orm/pg-core").PgTimestampConfig<"string" | "date"> | import("drizzle-orm/pg-core").PgVarcharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/sqlite-core").BlobConfig<"bigint" | "buffer" | "json"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | {
mode?: "json" | undefined;
} | {
mode?: "text" | undefined;
length?: number;
enum?: readonly [string, ...string[]] | [string, ...string[]] | undefined;
} | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | import("drizzle-orm/mysql-core").MySqlBinaryConfig | import("drizzle-orm/mysql-core").MySqlCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").MySqlDateConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDatetimeConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDecimalConfig | import("drizzle-orm/mysql-core").MySqlDoubleConfig | import("drizzle-orm/mysql-core").MySqlFloatConfig | import("drizzle-orm/mysql-core").MySqlIntConfig | import("drizzle-orm/mysql-core").MySqlRealConfig | import("drizzle-orm/mysql-core").MySqlTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").TimeConfig | import("drizzle-orm/mysql-core").MySqlTimestampConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlVarbinaryOptions | import("drizzle-orm/mysql-core").MySqlVarCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | undefined, any>>) => Promise<string | {
fieldName: string;
primaryKey: boolean;
unique: boolean;
nullable: boolean;
dbIndex: boolean;
default: any;
autoincrement: boolean;
databaseName: string | undefined;
custom: {
type?: string;
} & import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | readonly [string, ...string[]] | [string, ...string[]] | import("drizzle-orm/pg-core").PgCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").PgDateConfig<"string" | "date"> | {
precision: number;
scale?: number;
} | {
precision?: number;
scale: number;
} | {
precision: number;
scale: number;
} | import("drizzle-orm/pg-core").IntervalConfig | import("drizzle-orm/pg-core").PgLineTypeConfig<"tuple" | "abc"> | import("drizzle-orm/pg-core").PgPointConfig<"tuple" | "xy"> | import("drizzle-orm/pg-core").PgTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").TimeConfig | import("drizzle-orm/pg-core").PgTimestampConfig<"string" | "date"> | import("drizzle-orm/pg-core").PgVarcharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/sqlite-core").BlobConfig<"bigint" | "buffer" | "json"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | {
mode?: "json" | undefined;
} | {
mode?: "text" | undefined;
length?: number;
enum?: readonly [string, ...string[]] | [string, ...string[]] | undefined;
} | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | import("drizzle-orm/mysql-core").MySqlBinaryConfig | import("drizzle-orm/mysql-core").MySqlCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").MySqlDateConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDatetimeConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDecimalConfig | import("drizzle-orm/mysql-core").MySqlDoubleConfig | import("drizzle-orm/mysql-core").MySqlFloatConfig | import("drizzle-orm/mysql-core").MySqlIntConfig | import("drizzle-orm/mysql-core").MySqlRealConfig | import("drizzle-orm/mysql-core").MySqlTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").TimeConfig | import("drizzle-orm/mysql-core").MySqlTimestampConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlVarbinaryOptions | import("drizzle-orm/mysql-core").MySqlVarCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | undefined, any>;
}>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"field" | "auto" | "big-auto" | "big-integer" | "boolean" | "char" | "date" | "decimal" | "enum" | "foreign-key" | "integer" | "text" | "uuid">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"field" | "auto" | "big-auto" | "big-integer" | "boolean" | "char" | "date" | "decimal" | "enum" | "foreign-key" | "integer" | "text" | "uuid">) => Promise<any>;
};
compare: ((_oldCustomArguments: any, _newCustomArguments: any) => boolean) | undefined;
fieldToString: ((_customArguments: any) => {
result: string;
imports: import("@palmares/databases/dist/src/models/fields/types").CustomImportsForFieldType[];
}) | undefined;
autoFieldParser: import("@palmares/databases").AdapterIntegerFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"integer", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlIntConfig | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string> | import("drizzle-orm/pg-core").PgIntegerBuilder<{
name: string;
dataType: "number";
columnType: "PgInteger";
data: number;
driverParam: number | string;
enumValues: undefined;
generated: undefined;
}>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
};
bigAutoFieldParser: undefined;
bigIntegerFieldParser: import("@palmares/databases").AdapterBigIntegerFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"big-integer", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/mysql-core").MySqlBigInt53BuilderInitial<string> | import("drizzle-orm/mysql-core").MySqlBigInt64BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigInt53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigInt64BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"big-integer">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"big-integer">) => Promise<any>;
};
charFieldParser: import("@palmares/databases").AdapterCharFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"char", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").varchar>[1] | Parameters<typeof import("drizzle-orm/pg-core").varchar>[1], ReturnType<typeof import("drizzle-orm/mysql-core").varchar> | ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").varchar>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"char">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"char">) => Promise<any>;
};
dateFieldParser: import("@palmares/databases").AdapterDateFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"date", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").datetime>[1] | Parameters<typeof import("drizzle-orm/pg-core").timestamp>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/mysql-core").datetime> | ReturnType<typeof import("drizzle-orm/pg-core").timestamp>>>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"date">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"date">) => Promise<any>;
};
decimalFieldParser: import("@palmares/databases").AdapterDecimalFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"decimal", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/mysql-core").decimal>[1] | Parameters<typeof import("drizzle-orm/pg-core").numeric>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").real> | ReturnType<typeof import("drizzle-orm/pg-core").numeric> | ReturnType<typeof import("drizzle-orm/sqlite-core").real>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"decimal">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"decimal">) => Promise<any>;
};
foreignKeyFieldParser: import("@palmares/databases").AdapterForeignKeyFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"foreign-key", any, InstanceType<typeof import("./fields/field").fieldParser>, any>) => Promise<undefined>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"foreign-key">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"foreign-key">) => Promise<any>;
};
integerFieldParser: import("@palmares/databases").AdapterIntegerFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"integer", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlIntConfig | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string> | import("drizzle-orm/pg-core").PgIntegerBuilder<{
name: string;
dataType: "number";
columnType: "PgInteger";
data: number;
driverParam: number | string;
enumValues: undefined;
generated: undefined;
}>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>;
};
textFieldParser: import("@palmares/databases").AdapterTextFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"text", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").text>[1] | Parameters<typeof import("drizzle-orm/pg-core").text>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/mysql-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").text>>>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"text">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"text">) => Promise<any>;
};
uuidFieldParser: import("@palmares/databases").AdapterUuidFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"uuid", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").varchar>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").uuid> | ReturnType<typeof import("drizzle-orm/mysql-core").varchar>>>) => Promise<string>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"uuid">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"uuid">) => Promise<any>;
};
enumFieldParser: import("@palmares/databases").AdapterEnumFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"enum", any, InstanceType<typeof import("./fields/field").fieldParser>, any>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"enum">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"enum">) => Promise<any>;
};
customFieldsParser: Record<string, import("@palmares/databases").AdapterFieldParser>;
booleanFieldParser: import("@palmares/databases").AdapterBooleanFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"boolean", any, InstanceType<typeof import("./fields/field").fieldParser>, any, import("./fields/types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").integer>[1], ReturnType<typeof import("drizzle-orm/mysql-core").boolean> | ReturnType<typeof import("drizzle-orm/pg-core").boolean> | ReturnType<typeof import("drizzle-orm/sqlite-core").integer>>>) => Promise<any>;
inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"boolean">) => Promise<any>;
outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"boolean">) => Promise<any>;
};
lazyEvaluateField: (engine: any, modelName: string, translatedModel: any, fieldAttributes: Parameters<Parameters<typeof import("@palmares/databases").adapterFields>[0]["lazyEvaluateField"]>[3], fieldTranslated: any, parseAgain: Parameters<Parameters<typeof import("@palmares/databases").adapterFields>[0]["lazyEvaluateField"]>[5]) => Promise<any>;
translateField: ((_Adapter: DatabaseAdapter, _field: import("@palmares/databases").Field, _defaultTranslateFieldCallback: (_field: import("@palmares/databases").Field) => Promise<any>) => Promise<any>) | undefined;
}, import("@palmares/databases").AdapterModels<any> & {
translateOptions: (_engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, modelName: string, options: import("@palmares/databases").ModelOptionsType) => Promise<object>;
translateFields: ((_engine: DatabaseAdapter, _modelName: string, _fieldEntriesOfModel: [string, import("@palmares/databases").Field][], _model: import("@palmares/databases").ModelBaseClass, _defaultTranslateFieldCallback: (_field: import("@palmares/databases").Field) => Promise<any>, _defaultTranslateFieldsCallback: () => Promise<{
[key: string]: any;
}>) => Promise<{
[key: string]: any;
}>) | undefined;
translate: (_engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, _modelName: string, _model: import("@palmares/databases").ModelBaseClass, _fieldEntriesOfModel: [string, import("@palmares/databases").Field<{
create: any;
read: any;
update: any;
}, {
unique: false;
allowNull: false;
dbIndex: false;
underscored: true;
hasDefaultValue: false;
isPrimaryKey: false;
auto: false;
defaultValue: undefined;
typeName: string;
databaseName: undefined;
engineInstance: DatabaseAdapter;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>>][], _modelOptions: Omit<import("@palmares/databases").ModelOptionsType, "customOptions">, _customModelOptions: {
userOptions: any;
fields: any;
}, defaultTranslateCallback: () => Promise<{
options: any;
fields: any;
}>, _: (_field: import("@palmares/databases").Field) => Promise<any>, __: () => Promise<{
[key: string]: any;
}>) => Promise<{
fields: Record<string, string>;
options: import("@palmares/databases").ModelOptionsType;
}>;
compare: ((_oldCustomArguments: any, _newCustomArguments: any) => boolean) | undefined;
modelToString: ((_customArguments: any) => {
result: string;
imports: {
import: string;
from: string;
}[];
}) | undefined;
afterModelsTranslation: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, models: [string, any][]) => Promise<[string, any][]>;
setGetTranslatedModels: <TGetTranslatedModelsFunction extends () => any>(getTranslatedModels: TGetTranslatedModelsFunction) => Omit<import("@palmares/databases").AdapterModels<any>, "getTranslatedModels"> & {
getTranslatedModels: TGetTranslatedModelsFunction;
};
}, import("@palmares/databases").AdapterQuery & {
get: import("@palmares/databases").AdapterGetQuery & {
queryData: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, args: {
modelOfEngineInstance: any;
search: any;
fields: readonly string[];
ordering?: any;
limit?: number;
offset?: number | string;
}) => Promise<any>;
};
set: import("@palmares/databases").AdapterSetQuery & {
queryData: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, args: {
modelOfEngineInstance: any;
search: any;
data: any;
transaction?: any;
}) => Promise<any>;
};
remove: import("@palmares/databases").AdapterRemoveQuery & {
queryData: (engine: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>, args: {
modelOfEngineInstance: any;
search: any;
shouldNotDelete?: boolean;
transaction?: any;
}) => Promise<any>;
};
search: import("@palmares/databases").AdapterSearchQuery & {
parseSearchFieldValue: <TOperationType extends import("@palmares/databases").OperatorsOfQuery>(operationType: TOperationType, key: string, model: any, value: any, result: any, options: any) => Promise<void>;
};
ordering: import("@palmares/databases").AdapterOrderingQuery & {
parseOrdering: (model: any, ordering: string[]) => Promise<import("drizzle-orm").SQL<unknown>[]>;
};
}, import("@palmares/databases").AdapterMigrations> & {
fields: import("@palmares/databases").AdapterFields & {
fieldsParser: import("@palmares/databases").AdapterFieldParser & {
translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<any, any, any, any, {
type?: string;
} & import("./fields/types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | readonly [string, ...string[]] | [string, ...string[]] | import("drizzle-orm/pg-core").PgCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").PgDateConfig<"string" | "date"> | {
precision: number;
scale?: number;
} | {
precision?: number;
scale: number;
} | {
precision: number;
scale: number;
} | import("drizzle-orm/pg-core").IntervalConfig | import("drizzle-orm/pg-core").PgLineTypeConfig<"tuple" | "abc"> | import("drizzle-orm/pg-core").PgPointConfig<"tuple" | "xy"> | import("drizzle-orm/pg-core").PgTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").TimeConfig | import("drizzle-orm/pg-core").PgTimestampConfig<"string" | "date"> | import("drizzle-orm/pg-core").PgVarcharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/sqlite-core").BlobConfig<"bigint" | "buffer" | "json"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | {
mode?: "json" | undefined;
} | {
mode?: "text" | undefined;
length?: number;
enum?: readonly [string, ...string[]] | [string, ...string[]] | undefined;
} | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | import("drizzle-orm/mysql-core").MySqlBinaryConfig | import("drizzle-orm/mysql-core").MySqlCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").MySqlDateConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDatetimeConfig<"string" | "dat