import type { Scene } from 'cesium';
import type { Map as OLMap, Overlay } from 'ol';
export default class OverlaySynchronizer {
    protected map: OLMap;
    protected scene: Scene;
    private overlayCollection_;
    private overlayContainerStopEvent_;
    private overlayContainer_;
    private overlayMap_;
    private overlayEvents;
    private listenerKeys_;
    /**
     * @param map
     * @param scene
     * @api
     */
    constructor(map: OLMap, scene: Scene);
    /**
     * Get the element that serves as a container for overlays that don't allow
     * event propagation. Elements added to this container won't let mousedown and
     * touchstart events through to the map, so clicks and gestures on an overlay
     * don't trigger any {@link ol.MapBrowserEvent}.
     * @return The map's overlay container that stops events.
     */
    getOverlayContainerStopEvent(): Element;
    /**
     * Get the element that serves as a container for overlays.
     * @return The map's overlay container.
     */
    getOverlayContainer(): Element;
    /**
     * Destroy all and perform complete synchronization of the overlays.
     * @api
     */
    synchronize(): void;
    /**
     * @param overlay
     * @api
     */
    addOverlay(overlay: Overlay): void;
    /**
     * Removes an overlay from the scene
     * @param overlay
     * @api
     */
    removeOverlay(overlay: Overlay): void;
    /**
     * Destroys all the created Cesium objects.
     */
    protected destroyAll(): void;
}
//# sourceMappingURL=OverlaySynchronizer.d.ts.map