/**
 * @fileoverview Implements the DuckDB service for interacting with a DuckDB database.
 * @module services/duck-db/duckDBService
 */
import * as duckdb from "@duckdb/node-api";
import { DuckDBQueryResult, DuckDBServiceConfig, IDuckDBService } from "./types.js";
export declare class DuckDBService implements IDuckDBService {
    private connectionManager;
    private queryExecutor;
    private isInitialized;
    constructor();
    initialize(config?: DuckDBServiceConfig): Promise<void>;
    private ensureInitialized;
    private validateParams;
    run(sql: string, params?: unknown[]): Promise<void>;
    query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<DuckDBQueryResult<T>>;
    stream(sql: string, params?: unknown[]): Promise<duckdb.DuckDBResult>;
    prepare(sql: string): Promise<duckdb.DuckDBPreparedStatement>;
    beginTransaction(): Promise<void>;
    commitTransaction(): Promise<void>;
    rollbackTransaction(): Promise<void>;
    loadExtension(extensionName: string): Promise<void>;
    close(): Promise<void>;
    getRawConnection(): duckdb.DuckDBConnection | null;
    getRawInstance(): duckdb.DuckDBInstance | null;
}
