import mapboxgl from 'mapbox-gl';
import { MapboxCameraObjNode } from '../nodes/obj/MapboxCamera';
import { TypedViewer, TypedViewerOptions } from '@polygonjs/polygonjs/dist/src/engine/viewers/_Base';
import { MapboxPerspectiveCamera } from '../../core/mapbox/MapboxPerspectiveCamera';
import { MapboxRaycaster } from '../../core/mapbox/MapboxRaycaster';
export interface MapboxViewerOptions extends TypedViewerOptions<MapboxPerspectiveCamera> {
    cameraNode: MapboxCameraObjNode;
}
export declare class MapboxViewer extends TypedViewer<MapboxPerspectiveCamera> {
    private _canvasContainer;
    private _map;
    private _mapLoaded;
    private _cameraNode;
    private readonly layersController;
    private readonly mapboxEventController;
    constructor(options: MapboxViewerOptions);
    cameraNode(): MapboxCameraObjNode;
    mount(element: HTMLElement): Promise<void>;
    mapLoaded(): boolean;
    map(): mapboxgl.Map;
    canvasContainer(): HTMLElement;
    createRaycaster(): MapboxRaycaster;
    onResize(): void;
    dispose(): void;
    waitForMapLoaded(): Promise<unknown> | undefined;
    cameraLngLat(): {
        lng: number;
        lat: number;
    };
    _addNavigationControls(): void;
    private _findCanvas;
}
