import type { LngLatBoundsLike } from 'maplibre-gl'; import RasterResource from './raster'; import { type EsriMetadata } from '../esri'; import type { PixelWindow } from '../geometry'; import type { RequestTransform } from '../request'; export declare const EXPORT_TILE_SIZE = 256; export type EsriRasterSourceSpec = { tiles: string[]; scheme?: 'xyz'; tileSize: number; minzoom?: number; maxzoom?: number; bounds?: [number, number, number, number]; }; export default abstract class EsriResource extends RasterResource { protected serviceUrl: string; protected layerId?: string; private metadata; constructor(id: string, url: string, bounds?: LngLatBoundsLike, requestTransform?: RequestTransform); getScheme(): any; getTileSize(): number; getBounds(): Promise; getRasterSourceSpec(): Promise; canInspect(): Promise; inspect(_window: PixelWindow): Promise; protected getMetadata(): Promise; protected exportParams(): Record; protected exportUrl(endpoint: string, params?: Record): string; }