import { Client } from "@libsql/client";
import { PgDatabase } from "drizzle-orm/pg-core";
import { Client as PgClient } from "pg";
export declare abstract class DrizzleDbClient<T = any> {
    protected db: T;
    constructor(db: T);
    abstract query<K = any>(query: string, values?: any[]): Promise<K[]>;
    abstract run(query: string): Promise<void>;
}
export declare class DrizzleORMPgClient extends DrizzleDbClient<PgDatabase<any>> {
    query<K = any>(query: string, values?: any[] | undefined): Promise<K[]>;
    run(query: string): Promise<void>;
}
export declare class BetterSqlite extends DrizzleDbClient {
    run(query: string): Promise<void>;
    query(query: string): Promise<any[]>;
}
export declare class TursoSqlite extends DrizzleDbClient<Client> {
    run(query: string): Promise<void>;
    query(query: string): Promise<any[]>;
}
export declare class PgPostgres extends DrizzleDbClient<PgClient> {
    query<K = any>(query: string, values?: any[]): Promise<K[]>;
    run(query: string): Promise<void>;
}
