import mapboxgl from 'mapbox-gl';
import { ThreejsLayer, ThreejsLayerRenderFunc } from './layers/MapboxThreejsLayer';
import { Scene, Camera } from 'three';
import { PolyScene } from '../../../engine/scene/PolyScene';
import { LngLat } from './Common';
import { MapboxViewer } from '../../../engine/viewers/Mapbox';
export interface LayersOptions {
    map: mapboxgl.Map;
    scene: PolyScene;
    camera: Camera;
    displayScene: Scene;
    lngLat: LngLat;
    renderFunc: ThreejsLayerRenderFunc;
    viewer: MapboxViewer;
    zoomControls: boolean;
    layer3D: boolean;
    layerBuildings: boolean;
    layerSky: boolean;
}
export declare class MapboxLayersController {
    private _options;
    _threejsLayer: ThreejsLayer | undefined;
    constructor(_options: LayersOptions);
    addLayers(): void;
    private _addZoomControls;
    protected _addLayer3D(): void;
    private _addLayerSky;
    private _addLayerBuildings;
    protected _addLayerThreejs(label_layer_id: string): void;
    private _hasLayerId;
}
