/// import type Polygon from "@arcgis/core/geometry/Polygon.js"; import type Geometry from "@arcgis/core/geometry/Geometry.js"; import type { DistanceUnit, IValueChange } from "../../utils/interfaces.js"; import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { T9nMeta } from "@arcgis/lumina/controllers"; export abstract class BufferTools extends LitElement { /** * Contains the translations for this component. * All UI strings should be defined here. * * @internal */ protected _translations: { feet: string; meters: string; miles: string; kilometers: string; unit: string; } & T9nMeta<{ feet: string; meters: string; miles: string; kilometers: string; unit: string; }>; /** * string: The appearance of display. Can be a 'slider' or 'text' inputs for distance/value * * @default 'text' */ accessor appearance: "slider" | "text"; /** * boolean: When `true`, interaction is prevented and the component is displayed with lower opacity. * * @default false */ accessor disabled: boolean; /** * number: The distance used for buffer * * @default 0 */ accessor distance: number; /** esri/geometry/Geometry: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Geometry.html */ accessor geometries: Geometry[]; /** * number: The component's maximum selectable value. * * @default 0 */ accessor max: number; /** * number: The component's minimum selectable value. * * @default 0 */ accessor min: number; /** * number: Displays tick marks on the number line at a specified interval. * * @default 10 */ accessor sliderTicks: number; /** * boolean: option to control if buffer results should be unioned * * @default true */ accessor unionResults: boolean; /** * DistanceUnit: 'feet'|'meters'|'miles'|'kilometers' * * @default 'meters' */ accessor unit: DistanceUnit; /** * Get the translated unit for display * * @param unit * @returns Promise resolving with the translated unit */ getTranslatedUnit(unit: string): Promise; /** Emitted on demand when a buffer is generated. */ readonly bufferComplete: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when the distance value changes */ readonly distanceChanged: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when the unit changes */ readonly unitChanged: import("@arcgis/lumina").TargetedEvent; readonly "@eventTypes": { bufferComplete: BufferTools["bufferComplete"]["detail"]; distanceChanged: BufferTools["distanceChanged"]["detail"]; unitChanged: BufferTools["unitChanged"]["detail"]; }; }