import { type TerrainTileFetcher } from "../../components/landscape/terrain-style";
import { type TrafficTileFetcher } from "../../components/landscape/traffic-overlay";
import type { ViralViewerApi } from "../../viral-viewer-api";
export declare class LandscapeLayerPanel {
    viralViewerApi: ViralViewerApi;
    private _panel;
    private _rows;
    private _contourRefs;
    private _styleSelect;
    private _tileFetchers;
    private _trafficFetcher;
    private _trafficCheckbox;
    private _trafficSection;
    private _trafficLoading;
    private _waterEffectCheckbox;
    private _textureCache;
    private _visible;
    private _onLandscapeGeneratedBound;
    private _onSceneClearedBound;
    constructor(viralViewerApi: ViralViewerApi);
    private get _rawStyle();
    private get _rawPanel();
    private _inject;
    private _bindEvents;
    private _onLandscapeGenerated;
    private _getLandscapeGroup;
    private _applyTerrainStyle;
    setTerrainTileFetcher(style: "satellite" | "map" | "light", fetcher: TerrainTileFetcher): void;
    setTrafficTileFetcher(fetcher: TrafficTileFetcher): void;
    syncWaterEffect(enabled: boolean): void;
    private _fetchTraffic;
    show(): void;
    hide(): void;
    get isVisible(): boolean;
}
