import type { ExtractionOptions, Table } from '@uwdata/flechette'; import type { ArrowQueryRequest, Connector, ExecQueryRequest, JSONQueryRequest } from './Connector.js'; import * as duckdb from '@duckdb/duckdb-wasm'; interface DuckDBWASMOptions { /** Flag to enable logging. */ log?: boolean; } interface DuckDBWASMConnectorOptions extends DuckDBWASMOptions { /** Arrow IPC extraction options. */ ipc?: ExtractionOptions; /** Optional pre-existing DuckDB-WASM instance. */ duckdb?: duckdb.AsyncDuckDB; /** Optional pre-existing DuckDB-WASM connection. */ connection?: duckdb.AsyncDuckDBConnection; /** Optional database config. */ config?: duckdb.DuckDBConfig; } /** * Connect to a DuckDB-WASM instance. * @param options Connector options. * @returns A connector instance. */ export declare function wasmConnector(options?: DuckDBWASMConnectorOptions): DuckDBWASMConnector; /** * DuckDB-WASM connector. */ export declare class DuckDBWASMConnector implements Connector { private _ipc?; _options: DuckDBWASMOptions; _db?: duckdb.AsyncDuckDB; _con?: duckdb.AsyncDuckDBConnection; _config?: duckdb.DuckDBConfig; _loadPromise?: Promise; /** * Create a new DuckDB-WASM connector instance. * @param options Connector options. */ constructor(options?: DuckDBWASMConnectorOptions); /** * Get the backing DuckDB-WASM instance. * Lazily initializes DuckDB-WASM if not already loaded. * @returns The DuckDB-WASM instance. */ getDuckDB(): Promise; /** * Get the backing DuckDB-WASM connection. * Lazily initializes DuckDB-WASM if not already loaded. * @returns The DuckDB-WASM connection. */ getConnection(): Promise; query(query: ArrowQueryRequest): Promise; query(query: ExecQueryRequest): Promise; query(query: JSONQueryRequest): Promise[]>; } export {}; //# sourceMappingURL=wasm.d.ts.map