import React from 'react'; import type { DrawMode, DrawModeValue, SelectionType } from './types'; import type { OpenLayersLayerProps } from '../layers'; export declare const defaultIntersectionStyleProperties: GeoJSON.GeoJsonProperties; export declare const emptyLineString: GeoJSON.Feature; export declare const emptyPoint: GeoJSON.Feature; export declare const emptyPolygon: GeoJSON.Feature; export declare const emptyIntersectionShape: GeoJSON.FeatureCollection; type DrawLayerType = 'geoJSON' | 'geoJSONIntersection' | 'geoJSONIntersectionBounds'; export interface MapDrawToolProps { geoJSON: GeoJSON.FeatureCollection; geoJSONIntersection?: GeoJSON.FeatureCollection; geoJSONIntersectionBounds?: GeoJSON.FeatureCollection; setGeoJSON: (geojson: GeoJSON.Feature | GeoJSON.FeatureCollection, reason?: string) => GeoJSON.FeatureCollection[]; setGeoJSONIntersectionBounds: (geojson: GeoJSON.FeatureCollection) => void; drawModes: DrawMode[]; changeDrawMode: (mode: DrawModeValue) => void; setDrawModes: (drawModes: DrawMode[]) => void; isInEditMode: boolean; setEditMode: (shouldEnable: boolean) => void; featureLayerIndex: number; setFeatureLayerIndex: (newIndex: number) => void; activeTool: string; changeActiveTool: (newMode: DrawMode) => void; setActiveTool: (newToolId: string) => void; layers: OpenLayersLayerProps[]; getLayer: (layerType: DrawLayerType, layerId: string) => OpenLayersLayerProps; deactivateTool: () => void; changeProperties: (geoJSONProperties: GeoJSON.GeoJsonProperties) => void; getProperties: () => GeoJSON.GeoJsonProperties; } export interface MapDrawToolOptions { shouldAllowMultipleShapes?: boolean; defaultDrawModes?: DrawMode[]; defaultGeoJSON?: GeoJSON.FeatureCollection; defaultGeoJSONIntersection?: GeoJSON.FeatureCollection; defaultGeoJSONIntersectionBounds?: GeoJSON.FeatureCollection; defaultGeoJSONIntersectionProperties?: GeoJSON.GeoJsonProperties; geoJSONLayerId?: string; geoJSONIntersectionLayerId?: string; geoJSONIntersectionBoundsLayerId?: string; projection?: string | undefined; } export declare const getIcon: (selectionType: SelectionType) => React.ReactElement | null; export declare const defaultPoint: DrawMode; export declare const defaultPolygon: DrawMode; export declare const defaultBox: DrawMode; export declare const defaultLineString: DrawMode; export declare const defaultDelete: DrawMode; export declare const defaultCircle: DrawMode; export declare const defaultSquare: DrawMode; export declare const defaultFreehandLine: DrawMode; export declare const defaultOval: DrawMode; export declare const defaultLocation: DrawMode; export declare const defaultSmoothLine: DrawMode; export declare const defaultSplit: DrawMode; export declare const defaultRotatableBox: DrawMode; export declare const defaultModes: DrawMode[]; export declare const currentlySupportedDrawModes: DrawMode[]; export declare const useMapDrawTool: ({ defaultDrawModes, shouldAllowMultipleShapes, defaultGeoJSON, defaultGeoJSONIntersection, defaultGeoJSONIntersectionBounds, defaultGeoJSONIntersectionProperties, geoJSONLayerId, geoJSONIntersectionLayerId, geoJSONIntersectionBoundsLayerId, projection, }: MapDrawToolOptions) => MapDrawToolProps; export {};