import React from 'react';
export interface AddFeaturePanelConfig {
    getLayerOptionsFromLayerValues?: (layerValues: any[]) => {
        label: string;
        value: any;
    }[];
    getFeatureTypeOptionsFromLayerValue?: (layerValue: any) => {
        label: string;
        value: any;
    }[];
}
export interface UdpMapToolbarProps {
    /* Map instance */
    map: any;
    /* Title appearing on map */
    mapTitle?: string;
    /* Map feature projection used */
    mapProjection?: string;
    /* Method - Returns custom styles for features */
    getFeatureStyles?: any;
    /* Method - Returns custom styles for selected features */
    getSelectedFeatureStyles?: any;
    /* Custom filter panel */
    filterPanel?: string;
    /* Allows selecting tile layer */
    enableTileSelection?: boolean;
    /* List of tile layers visible on the map */
    tileLayersOptions?: any[];
    /* Default tile layer name */
    defaultTileOptionName?: string;
    /* List of options for vector layers */
    layerOptions?: any[];
    /* Vector layers selected in the layer filter on initial map load */
    initialSelectedLayers?: any[];
    /* Custom action panel for selected features */
    bulkSelectedFeaturesActionPanel?: string;
    /* Method - Retrieves selected features when bulk selected */
    handleSetSelectedFeaturesOnBulkSelect: any;
    /* Callback method to refresh map */
    handleRefresh?: any;
    /* Custom tooltip message on refresh button */
    refreshButtonTooltip?: string;
    /* Map is read-only (setting true removes the add, edit, delete functionality) */
    readOnlyMap: boolean;
    /* Enables adding a new feature by drawing on the map */
    enableAdd: boolean;
    /* When adding features on the map by drawing, this callback method returns the newly added features */
    handleAddNewFeatures: any;
    /* When adding features by drawing, add multiple features */
    addMultipleFeatures: boolean;
    /* Enables splitting line strings on the map */
    enableSplitFeature: boolean;
    /* Callback function to return split feature */
    handleSplitFeature: any;
    /* Method to set the selected feature properties */
    handleSetSelectedFeatureProperties: any;
    /* Layer options filtered by role */
    filteredLayerOptionsByRole: any[];
    /* Set bulk selection state to active */
    handleSetBulkSelectionActive: any;
    /* Boolean - if drag box interaction is currently active */
    enableDragBox: boolean;
    /* Set enableDragBox state */
    handleSetEnableDragBox: any;
    /* Boolean - if split interaction is currently active */
    splitActive: boolean;
    /* Set splitActive state */
    handleSetSplitActive: any;
    /* Interaction for select feature */
    selectFeatureInteraction: any;
    /* Method that handles adding interactions to the map */
    handleAddInteractionToMap: any;
    /* Show the button to add a new feature by drawing on the map */
    enableAddNewFeature: boolean;
    /* Callback method returns the new feature added */
    handleEnableAddNewFeature: any;
    /* Callback method returns selected layers */
    /* List of layers that are read only */
    readOnlyLayers?: string[];
    /* Array of currently selected layers on the map */
    selectedLayers: any[];
    /* Handler to set the selected layers programmatically */
    handleSetSelectedLayers: (value: any) => void;
    /* Configuration object for customizing the add feature panel's appearance or behavior */
    addFeaturePanelConfig?: AddFeaturePanelConfig;
}
export declare const UdpMapToolbar: React.FC<UdpMapToolbarProps>;
//# sourceMappingURL=UdpMapToolbar.d.ts.map