import * as React from "react";
import mapboxgl, { LngLatLike } from "mapbox-gl";
import MapboxDraw from "@mapbox/mapbox-gl-draw";
import { PolygonInstance } from "../../columns/polygon";
import { PointInstance } from "../../columns/point";
import { LineStringInstance } from "../../columns/linestring";
interface MapboxMapProps {
    initialOptions?: Omit<mapboxgl.MapboxOptions, "container">;
    controls: MapboxDraw.MapboxDrawControls;
    onMapLoaded?({ map, draw }: {
        map: mapboxgl.Map;
        draw: MapboxDraw;
    }): void;
    onCreated?(map: mapboxgl.Map): void;
    onDeleted?(map: mapboxgl.Map): void;
    onEdited?(map: mapboxgl.Map): void;
    setIsFlag?: React.Dispatch<React.SetStateAction<{
        drawPoint: boolean;
        deletePoint: boolean;
    }>>;
    value: PolygonInstance | PointInstance | LineStringInstance | null;
    onMapRemoved?(): void;
    drawLayer?: {
        idLayer: string;
        draw(coordinates?: PolygonInstance["coordinates"] | PointInstance["coordinates"] | LineStringInstance["coordinates"]): mapboxgl.AnyLayer;
    };
    styles?: object[];
    center?: LngLatLike;
}
declare const MapboxMap: ({ initialOptions, controls, drawLayer, onMapLoaded, onDeleted, onCreated, onEdited, setIsFlag, center, onMapRemoved, value, styles, }: MapboxMapProps) => JSX.Element;
export default MapboxMap;
