/** * @typedef {Object} ExtentDataOptions * @property {import('./source_resolver.js').SourceResolver} sourceResolver * @property {import('./parquet_bbox_reader.js').ParquetBboxReader} [bboxReader] * @property {import('./duckdb_adapter.js').DuckDBClient} [duckdb] - Required for parquet bbox queries */ export class ExtentData { /** * @param {ExtentDataOptions} options */ constructor({ sourceResolver, bboxReader, duckdb }: ExtentDataOptions); _sourceResolver: import("./source_resolver.js").SourceResolver; _bboxReader: ParquetBboxReader; _duckdb: import("./duckdb_adapter.js").DuckDBClient; _cancelGeneration: number; _abortController: AbortController; /** * Attach or replace the DuckDB client used for parquet metadata fallback. * @param {import('./duckdb_adapter.js').DuckDBClient | null} duckdb */ setDuckDB(duckdb: import("./duckdb_adapter.js").DuckDBClient | null): void; cancel(): void; /** * Fetch file-level and row-group-level extent data for a source. * * @param {object} options * @param {string} options.sourceUrl - Source route URL * @param {boolean} [options.includeRowGroups=true] - Whether to fetch row-group bboxes * @param {string} [options.bboxColumn] - Explicit bbox struct column name (e.g. 'bbox') * to use for row-group stats when GeoParquet covering metadata is absent. * @param {(msg: string) => void} [options.onStatus] - Status callback * @param {AbortSignal} [options.signal] - Abort signal for cancelling extent loading. * @returns {Promise<{ * dataExtents: Object | null, * rgExtents: Object> | null * }>} */ fetchExtents({ sourceUrl, includeRowGroups, bboxColumn, onStatus, signal }: { sourceUrl: string; includeRowGroups?: boolean; bboxColumn?: string; onStatus?: (msg: string) => void; signal?: AbortSignal; }): Promise<{ dataExtents: { [x: string]: number[]; } | null; rgExtents: { [x: string]: { [x: string]: number[]; }; } | null; }>; _isCancelled(runGeneration: any, signal: any): any; _throwIfCancelled(runGeneration: any, signal: any): void; } export type ExtentDataOptions = { sourceResolver: import("./source_resolver.js").SourceResolver; bboxReader?: import("./parquet_bbox_reader.js").ParquetBboxReader; /** * - Required for parquet bbox queries */ duckdb?: import("./duckdb_adapter.js").DuckDBClient; }; import { ParquetBboxReader } from './parquet_bbox_reader.js';