import type { LngLatBoundsLike } from 'maplibre-gl'; import { type RequestTransform } from '../request'; export type ResourceKind = 'cog' | 'esri-dynamic-map-layer' | 'esri-feature-layer' | 'esri-image-map-layer' | 'esri-tiled-map-layer' | 'geojson' | 'iiif-image' | 'iiif-manifest' | 'location' | 'openindexmap' | 'pmtiles' | 'tilejson' | 'tms' | 'wms' | 'wmts' | 'xyz'; export default abstract class Resource { abstract readonly kind: ResourceKind; url: string; protected bounds: LngLatBoundsLike | undefined; id: string; readonly requestTransform?: RequestTransform; constructor(id: string, url: string, bounds?: LngLatBoundsLike, requestTransform?: RequestTransform); label(): string; test(): Promise; get declaredBounds(): LngLatBoundsLike | undefined; getBounds(): Promise; }