import { LineString, Point } from 'ol/geom';
import { Vector as VectorSource } from 'ol/source';
import { Vector as VectorLayer } from 'ol/layer';
import Feature from 'ol/Feature';
import { Text as olText } from 'ol/style';
import { ClusterType } from '../react/geometries';
import { LazyQueryResult } from '../../../../js/model/LazyQueryResult/LazyQueryResult';
import { Coordinate } from 'ol/coordinate';
import Map from 'ol/Map';
export default function (insertionElement: any, _selectionInterface: any, _notificationEl: any, _componentElement: any, mapModel: any, mapLayers: any): {
    onMouseTrackingForGeoDrag({ moveFrom, down, move, up, }: {
        moveFrom?: any;
        down: any;
        move: any;
        up: any;
    }): void;
    clearMouseTrackingForGeoDrag(): void;
    onLeftClickMapAPI(callback: any): void;
    clearLeftClickMapAPI(): void;
    onLeftClick(callback: any): void;
    onRightClick(callback: any): void;
    clearRightClick(): void;
    onDoubleClick(): void;
    clearDoubleClick(): void;
    onMouseTrackingForPopup(downCallback: any, moveCallback: any, upCallback: any): void;
    onMouseMove(callback: any): void;
    clearMouseMove(): void;
    timeoutIds: number[];
    onCameraMoveStart(callback: any): void;
    offCameraMoveStart(callback: any): void;
    onCameraMoveEnd(callback: any): void;
    offCameraMoveEnd(callback: any): void;
    doPanZoom(coords: [number, number][]): void;
    panZoomOut(_opts: any, next: any): void;
    panToResults(results: any): void;
    panToExtent(coords: [number, number][]): void;
    getExtentOfIds(ids: string[]): import("ol/extent").Extent;
    zoomToIds({ ids, duration }: {
        ids: string[];
        duration?: number;
    }): void;
    panToShapesExtent({ duration }?: {
        duration?: number;
    }): void;
    getShapes(): any;
    zoomToExtent(coords: [number, number][], opts?: {}): void;
    zoomToBoundingBox({ north, east, south, west }: any): void;
    limit(value: any, min: any, max: any): number;
    getBoundingBox(): {
        north: number;
        east: number;
        south: number;
        west: number;
    };
    overlayImage(model: LazyQueryResult): void;
    removeOverlay(metacardId: any): void;
    removeAllOverlays(): void;
    getCartographicCenterOfClusterInDegrees(cluster: ClusterType): Coordinate;
    getWindowLocationsOfResults(results: any): any;
    calculateDistanceBetweenPositions(coords: any): number;
    addPointWithText(point: any, options: any): VectorLayer<VectorSource<Feature<Point>>, Feature<Point>>;
    addPoint(point: any, options: any): VectorLayer<VectorSource<Feature<Point>>, Feature<Point>>;
    addLine(line: any, options: any): VectorLayer<VectorSource<Feature<LineString>>, Feature<LineString>>;
    addPolygon(): void;
    updateCluster(geometry: any, options: any): void;
    updateGeometry(geometry: any, options: any): void;
    setGeometryStyle(geometry: any, options: any, feature: any): void;
    createTextStyle(feature: any, resolution: any): olText;
    getText(feature: any, resolution: any): any;
    trunc(str: any, n: any): any;
    hideGeometry(geometry: any): void;
    showGeometry(geometry: any): void;
    removeGeometry(geometry: any): void;
    showMultiLineShape(locationModel: any): VectorLayer<VectorSource<any>, any> | undefined;
    createVectorLayer(locationModel: any, feature: any): VectorLayer<VectorSource<any>, any>;
    destroyShape(cid: any): void;
    destroyShapes(): void;
    getMap(): Map;
    zoomIn(): void;
    zoomOut(): void;
    destroy(): void;
};
