import { type Dialect, Kysely, type KyselyPlugin } from "kysely";
import { Connection, type DbFunctions, type FieldSpec, type SchemaResponse } from "../Connection";
import type { Constructor } from "../../../core/registry/Registry";
import type { Field } from "../../../data/fields/Field";
export type SqliteConnectionConfig<CustomDialect extends Constructor<Dialect> = Constructor<Dialect>> = {
    excludeTables?: string[];
    additionalPlugins?: KyselyPlugin[];
    customFn?: Partial<DbFunctions>;
} & ({
    dialect: CustomDialect;
    dialectArgs?: ConstructorParameters<CustomDialect>;
} | {
    kysely: Kysely<any>;
});
export declare abstract class SqliteConnection<Client = unknown> extends Connection<Client> {
    name: string;
    constructor(config: SqliteConnectionConfig);
    getFieldSchema(spec: FieldSpec): SchemaResponse;
    toDriver(value: unknown, field: Field): unknown;
    fromDriver(value: any, field: Field): unknown;
}
