import { LibSQLDatabase } from "drizzle-orm/libsql";
import { Client as LibSqlClient } from "@libsql/client";
import { SQL } from "drizzle-orm";
import { AnyTable, AnySelectedFields, AnyColumn, SelectQuery, DbAdapter, QuerySource, DbSchema } from "@db/types/db-types";
export declare class SqliteAdapter implements DbAdapter {
    #private;
    constructor(connectionString?: string);
    init(schema: DbSchema): void;
    getDb(): LibSQLDatabase<DbSchema>;
    getClient(): LibSqlClient;
    createDynamicSelect(table: QuerySource, selection?: AnySelectedFields): import("drizzle-orm/sqlite-core").SQLiteSelectBase<any, "async", import("@libsql/client").ResultSet, any, "single" | "partial", any, true, never, any[], any>;
    getQueryConfig(query: unknown): any;
    beginUnsafeTransaction(): Promise<void>;
    rollbackUnsafeTransaction(): Promise<void>;
    getLikeExpression(column: AnyColumn | SQL, value: string | SQL): SQL<unknown>;
    getExtractDateExpression(column: AnyColumn | SQL): SQL<unknown>;
    leftJoin(query: SelectQuery, table: QuerySource, condition: SQL): any;
    innerJoin(query: SelectQuery, table: QuerySource, condition: SQL): any;
    orderBy(query: SelectQuery, ...columns: (SQL | AnyColumn)[]): any;
    groupBy(query: SelectQuery, ...columns: (SQL | AnyColumn)[]): any;
    having(query: SelectQuery, condition: SQL): any;
    limit(query: SelectQuery, value: number): any;
    offset(query: SelectQuery, value: number): any;
    where(query: SelectQuery, condition?: SQL): any;
    insert(table: AnyTable): import("drizzle-orm/sqlite-core").SQLiteInsertBuilder<AnyTable, "async", import("@libsql/client").ResultSet>;
    update(table: AnyTable): import("drizzle-orm/sqlite-core").SQLiteUpdateBuilder<AnyTable, "async", import("@libsql/client").ResultSet>;
    delete(table: AnyTable): import("drizzle-orm/sqlite-core").SQLiteDeleteBase<AnyTable, "async", import("@libsql/client").ResultSet, undefined, false, never>;
    createDatabaseIfNotExists(): Promise<void>;
    dropDatabase(): Promise<void>;
    emptyAllTables(): Promise<void>;
    runMigrations(): Promise<void>;
    generateMigrations(name: string): Promise<void>;
}
