import { DuckDBWASMConnector, RestConnector, MosaicClient, QueryResult } from '@uwdata/mosaic-core'; import { Query } from '@uwdata/mosaic-sql'; import { Table } from 'apache-arrow'; import { DuckDBInstance, WasmDuckDBConnection } from './duckdb-wasm'; /** * The `MosaicDBCoordinator` class serves as a coordinator between a internal or remote DuckDB instance and the Mosaic. * It abstracts the connection and query execution process, offering table indexing and results caching. * * Note: This class wraps the Mosaic Coordinator to handle type incompatibility between apache-arrow v17 * (required by DuckDB) and @uwdata/flechette (used by Mosaic 0.20+). * * @param {wasmConnector|restConnector} connector - The connector used to interface with the DuckDB instance. * @param {DuckDBInstance} [internalInstance] - An optional internal DuckDB instance for WASM-based operations. */ export declare class MosaicDBCoordinator { private _coordinator; private _internalDB; constructor(connector: (RestConnector | DuckDBWASMConnector), internalInstance?: DuckDBInstance); /** Static method to create a new MosaicDBCoordinator. @param {string | WasmDuckDBConnection} [connection] - The connection string for a remote HTTP rest DuckDB instance or an existing WasmDuckDBConnection. @returns {Promise} A promise that resolves to a new MosaicDBCoordinator instance. If no connection is provided, a internal instance of duckdb-wasm will be created. */ static create(connection?: string | WasmDuckDBConnection): Promise; get internalDB(): DuckDBInstance | undefined; connect(client: MosaicClient): void; disconnect(client: MosaicClient): void; clearCache(): void; destroy(): Promise; query(query: string | Query, options?: { cache?: boolean; [k: string]: unknown; }): QueryResult; }