import type { LandscapeDataProvider, LandscapeProviderResult } from "./landscape-provider";
import type { MvtTileFetcher } from "./mvt-fetcher";
export type ElevationTileFetcher = (zoom: number, x: number, y: number) => Promise<Blob | null>;
export interface MapboxProviderOptions {
    fetchMvtTile: MvtTileFetcher;
    fetchElevTile: ElevationTileFetcher;
}
export declare class MapboxLandscapeProvider implements LandscapeDataProvider {
    readonly name: "mapbox";
    private _fetchMvtTile;
    private _fetchElevTile;
    constructor(options: MapboxProviderOptions);
    fetchData(lat: number, lng: number, radiusMeters: number, onProgress?: (phase: string, percent: number) => void): Promise<LandscapeProviderResult>;
    private _fetchElevationGrid;
    private _decodeSingleElevTile;
}
