/** * @typedef {[number, number, number, number]} Bbox * [minx, miny, maxx, maxy] in WGS84. */ /** * @typedef {Object} ResolvedFile * @property {string} id * @property {string} url * @property {Bbox | null} [bbox] */ /** * Base source resolver. * Resolves an app-level source URL to concrete parquet files with optional file bboxes. */ export class SourceResolver { /** * @param {string} sourceUrl * @param {{ bbox?: Bbox, signal?: AbortSignal, onStatus?: (msg: string) => void }} [options] * @returns {Promise<{ files: ResolvedFile[] }>} */ resolve(sourceUrl: string, _options?: {}): Promise<{ files: ResolvedFile[]; }>; } /** * [minx, miny, maxx, maxy] in WGS84. */ export type Bbox = [number, number, number, number]; export type ResolvedFile = { id: string; url: string; bbox?: Bbox | null; };