///
import type MapView from "@arcgis/core/views/MapView.js";
import type SimpleFillSymbol from "@arcgis/core/symbols/SimpleFillSymbol.js";
import type SimpleMarkerSymbol from "@arcgis/core/symbols/SimpleMarkerSymbol.js";
import type Geometry from "@arcgis/core/geometry/Geometry.js";
import type FeatureLayerView from "@arcgis/core/views/layers/FeatureLayerView.js";
import type SimpleLineSymbol from "@arcgis/core/symbols/SimpleLineSymbol.js";
import type { DistanceUnit, ISearchConfiguration, ISelectionSet } from "../../utils/interfaces.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { T9nMeta } from "@arcgis/lumina/controllers";
export abstract class MapSelectTools extends LitElement {
/**
* Contains the translations for this component.
* All UI strings should be defined here.
*
* @internal
*/
protected _translations: {
listName: string;
listNamePlaceholder: string;
searchDistance: string;
select: string;
selectedFeatures: string;
selectionLoading: string;
sketch: string;
bufferLayer: string;
sketchLayer: string;
useLayerFeatures: string;
inputLayer: string;
useLayerFeaturesTooltip: string;
useSearchDistanceTootip: string;
placeholder: string;
} & T9nMeta<{
listName: string;
listNamePlaceholder: string;
searchDistance: string;
select: string;
selectedFeatures: string;
selectionLoading: string;
sketch: string;
bufferLayer: string;
sketchLayer: string;
useLayerFeatures: string;
inputLayer: string;
useLayerFeaturesTooltip: string;
useSearchDistanceTootip: string;
placeholder: string;
}>;
/** string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html */
accessor bufferColor: any;
/** string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html */
accessor bufferOutlineColor: any;
/**
* boolean: When true the user can define a name for each notification list
*
* @default false
*/
accessor customLabelEnabled: boolean;
/** number: The default value to show for the buffer distance */
accessor defaultBufferDistance: number | undefined;
/** number: The default value to show for the buffer unit */
accessor defaultBufferUnit: DistanceUnit | undefined;
/**
* string[]: Optional list of enabled layer ids
* If empty all layers will be available
*/
accessor enabledLayerIds: string[];
/**
* boolean: When true users will be allowed to optionally use features from a layer as the selection geometry
*
* @default true
*/
accessor enableLayerFeatures: boolean;
/**
* boolean: When true the use features from a layer options will be enabled when the component loads
*
* @default false
*/
accessor enableLayerFeaturesOnLoad: boolean;
/**
* boolean: When true users will be allowed to optionally create a buffer around the selection geometry
*
* @default true
*/
accessor enableSearchDistance: boolean;
/**
* boolean: When true the serach distance options will be enabled when the component loads
*
* @default false
*/
accessor enableSearchDistanceOnLoad: boolean;
/**
* boolean: When true sketch tools will be provided to allow users to draw a selection geometry
*
* @default true
*/
accessor enableSketchTools: boolean;
/** Geometry[]: List of geometries */
accessor geometries: Geometry[];
/**
* string: Header label class
*
* @default 'font-bold'
*/
accessor headerLabelClass: string;
/**
* boolean: When true a new label is not generated for the stored selection set
*
* @default false
*/
accessor isUpdate: boolean;
/** FeatureLayerView[]: List of layer views */
accessor layerViews: FeatureLayerView[];
/** MapView: The view of the map */
accessor mapView: MapView | undefined;
/**
* string: The value to show for no results
* when left empty the default text '0 selected features from {layerTitle}' will be shown
*
* @default ''
*/
accessor noResultText: string;
/** ISearchConfiguration: Configuration details for the Search widget */
accessor searchConfiguration: ISearchConfiguration | undefined;
/**
* boolean: when true buffer tools controls are enabled
*
* @default false
*/
accessor searchDistanceEnabled: boolean;
/**
* string[]: List of layer ids that should be shown as potential selection layers
* when skectching with 'Use layer features' option
*/
accessor selectionLayerIds: string[];
/** utils/interfaces/ISelectionSet: Used to store key details about any selections that have been made. */
accessor selectionSet: ISelectionSet | undefined;
/** FeatureLayerView: The view of the selected layer */
accessor selectLayerView: FeatureLayerView | undefined;
/** esri/symbols/SimpleLineSymbol | JSON representation : https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html */
accessor sketchLineSymbol: SimpleLineSymbol | undefined;
/** esri/symbols/SimpleMarkerSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html */
accessor sketchPointSymbol: SimpleMarkerSymbol | undefined;
/** esri/symbols/SimpleFillSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html */
accessor sketchPolygonSymbol: SimpleFillSymbol | undefined;
/**
* boolean: when true drawn graphics will be used to select features
*
* @default false
*/
accessor useLayerFeaturesEnabled: boolean;
/**
* //--------------------------------------------------------------------------
* //
* // Methods (public)
* //
* //--------------------------------------------------------------------------
*
* /**
* Clear any selection results
*
* @returns Promise when the results have been cleared
*/
clearSelection(): Promise;
/**
* Get the new selection set
*
* @returns Promise with the new selection set
*/
getSelection(): Promise;
/** Emitted on demand when the selection set changes. */
readonly selectionSetChange: import("@arcgis/lumina").TargetedEvent;
readonly "@eventTypes": {
selectionSetChange: MapSelectTools["selectionSetChange"]["detail"];
};
}