import { Config, Client } from '@libsql/client'; import { Kysely } from 'kysely'; import { ISqliteConnectionConfig, SqliteConnection, TransactionOptions } from '@supabase/lite'; /** * Connection config: Lite's SQLite options plus every libsql client option * (`authToken`, `syncUrl`, `encryptionKey`, `intMode`, `tls`, ...). `url` comes * from `ISqliteConnectionConfig` and is normalized before reaching libsql. */ interface ILibsqlConnectionConfig extends ISqliteConnectionConfig, Omit { /** * Pass an already-constructed libsql `Client` for full control. When set, * `url` and the other libsql options are ignored. */ client?: Client; } declare class LibsqlConnection extends SqliteConnection { kysely: Kysely; driver: Client; constructor(config?: ILibsqlConnectionConfig); exec(query: string, ...parameters: readonly unknown[]): Promise; transaction(statements: string[], opts?: TransactionOptions): Promise; close(): Promise; } declare function createLibsqlConnection(config?: ILibsqlConnectionConfig): LibsqlConnection; declare function libsql(config?: ILibsqlConnectionConfig): LibsqlConnection; export { type ILibsqlConnectionConfig, LibsqlConnection, createLibsqlConnection, libsql };