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" | "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;
    };
    models: 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;
        };
    };
    query: 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>[]>;
        };
    };
    migrations: import("@palmares/databases").AdapterMigrations;
    duplicate: (getNewEngine: () => Promise<DatabaseAdapter>) => Promise<DatabaseAdapter>;
    isConnected: () => Promise<boolean>;
    close: (databaseAdapter: DatabaseAdapter<any, import("@palmares/databases").AdapterFields, import("@palmares/databases").AdapterModels<any>, import("@palmares/databases").AdapterQuery, import("@palmares/databases").AdapterMigrations>) => Promise<void>;
    transaction: <TParameters extends any[], TResult>(databaseAdapter: DatabaseAdapter, callback: (transaction: Parameters<ReturnType<allDrizzleTypes>["transaction"]>[0], ...args: TParameters) => TResult | Promise<TResult>, ...args: TParameters) => Promise<TResult>;
}) & {
    new: <TType extends "postgres-js" | "node-postgres" | "neon-http" | "xata-http" | "pglite" | "vercel-postgres" | "aws-data-api/pg" | "pg-proxy" | "libsql" | "bun-sqlite" | "expo-sqlite" | "op-sqlite" | "better-sqlite3", TDrizzleInstance extends unknown>(args: {
        output: string;
        type: TType;
        drizzle: TDrizzleInstance;
        closeCallback?: () => void | Promise<void>;
    }) => [{
        output: string;
        type: TType;
        drizzle: TDrizzleInstance;
        closeCallback?: () => void | Promise<void>;
    }, () => Omit<InstanceType<ReturnType<typeof databaseAdapter>>, "instance"> & {
        instance: {
            instance: ReturnTypeByType<TType, TDrizzleInstance extends ReturnTypeByType<TType, infer TSchema> ? TSchema : never>;
            mainType: "postgres" | "mysql" | "sqlite";
            type: string;
            output: string;
            closeCallback?: () => void | Promise<void>;
        };
    }];
};
export { drizzleDatabaseAdapter as DrizzleDatabaseAdapter };
export default drizzleDatabaseAdapter;
//# sourceMappingURL=engine.d.ts.map