/// import type FeatureLayer from "@arcgis/core/layers/FeatureLayer.js"; import type { ButtonType, EditType } from "../../utils/interfaces.js"; import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { Icon as Icon } from "@esri/calcite-components/components/calcite-icon"; import type { T9nMeta } from "@arcgis/lumina/controllers"; export abstract class DeleteButton extends LitElement { /** * Contains the translations for this component. * All UI strings should be defined here. * * @internal */ protected _translations: { cancel: string; confirmMultiple: string; confirmSingle: string; delete: string; deleteCount: string; deleteFeature: string; } & T9nMeta<{ cancel: string; confirmMultiple: string; confirmSingle: string; delete: string; deleteCount: string; deleteFeature: string; }>; /** * ButtonType (button | action): Support usage as action or button * * @default 'button' */ accessor buttonType: ButtonType; /** calcite-dialog: Use this prop when using the button within a parent like a dropdown that would constrain the dialog and that is not desired */ accessor deleteDialog: any; /** * boolean: This overrides internal enable/disable logic that is based on checks if the layer supports delete * * @default false */ accessor disabled: boolean; /** string: The icon to display in the component */ accessor icon: Icon["icon"] | undefined; /** number[]: The ids that would be deleted */ accessor ids: (number | string)[]; /** esri/views/layers/FeatureLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html */ accessor layer: FeatureLayer | undefined; /** * boolean: When true the delete button will show the number of features that will be deleted * * @default true */ accessor showDeleteCount: boolean; /** Emitted on demand when the delete button is clicked */ readonly deleteClicked: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when features have been deleted */ readonly editsComplete: import("@arcgis/lumina").TargetedEvent; readonly "@eventTypes": { deleteClicked: DeleteButton["deleteClicked"]["detail"]; editsComplete: DeleteButton["editsComplete"]["detail"]; }; }