import { type Client, type Config } from "@libsql/client";
import type { QB } from "../Connection";
import { SqliteConnection } from "./SqliteConnection";
export declare const LIBSQL_PROTOCOLS: readonly ["wss", "https", "libsql"];
export type LibSqlCredentials = Config & {
    protocol?: (typeof LIBSQL_PROTOCOLS)[number];
};
export declare class LibsqlConnection extends SqliteConnection {
    private client;
    protected readonly supported: {
        batching: boolean;
    };
    constructor(client: Client);
    constructor(credentials: LibSqlCredentials);
    getClient(): Client;
    protected batch<Queries extends QB[]>(queries: [...Queries]): Promise<{
        [K in keyof Queries]: Awaited<ReturnType<Queries[K]["execute"]>>;
    }>;
}
