///
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"];
};
}