///
import type Graphic from "@arcgis/core/Graphic.js";
import type FeatureLayerView from "@arcgis/core/views/layers/FeatureLayerView.js";
import type Geometry from "@arcgis/core/geometry/Geometry.js";
import type SimpleFillSymbol from "@arcgis/core/symbols/SimpleFillSymbol.js";
import type SimpleMarkerSymbol from "@arcgis/core/symbols/SimpleMarkerSymbol.js";
import type SimpleLineSymbol from "@arcgis/core/symbols/SimpleLineSymbol.js";
import type MapView from "@arcgis/core/views/MapView.js";
import type { DistanceUnit, ISelectionSet } from "../../utils/interfaces.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { T9nMeta } from "@arcgis/lumina/controllers";
export abstract class RefineSelection extends LitElement {
/**
* Contains the translations for this component.
* All UI strings should be defined here.
*
* @internal
*/
protected _translations: {
add: string;
remove: string;
featuresAdded: string;
featuresRemoved: string;
totalSelected: string;
inputLayer: string;
inputLayerTip: string;
searchDistance: string;
useSearchDistanceTootip: string;
bufferLayer: string;
sketchLayer: string;
} & T9nMeta<{
add: string;
remove: string;
featuresAdded: string;
featuresRemoved: string;
totalSelected: string;
inputLayer: string;
inputLayerTip: string;
searchDistance: string;
useSearchDistanceTootip: string;
bufferLayer: string;
sketchLayer: string;
}>;
/** esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html */
accessor addresseeLayer: FeatureLayerView | undefined;
/** 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;
/** 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;
/** Array of drawn graphics for refine selection */
accessor drawnGraphicsArr: {
drawnGraphic: Graphic | undefined;
bufferGraphic: Graphic | 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 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;
/** esri/geometry: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry.html */
accessor geometries: Geometry[] | undefined;
/** esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html */
accessor mapView: MapView | undefined;
/**
* boolean: when true buffer tools controls are enabled
*
* @default false
*/
accessor searchDistanceEnabled: boolean;
/** utils/interfaces/ISelectionSet: An array of user defined selection sets */
accessor selectionSets: ISelectionSet[];
/** 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;
/** Emitted on demand when selection starts or ends. */
readonly selectionLoadingChange: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when selection sets change. */
readonly selectionSetsChanged: import("@arcgis/lumina").TargetedEvent;
readonly "@eventTypes": {
selectionLoadingChange: RefineSelection["selectionLoadingChange"]["detail"];
selectionSetsChanged: RefineSelection["selectionSetsChanged"]["detail"];
};
}