import type { Icon } from "@esri/calcite-components/components/calcite-icon";
import type { SelectionOperationProperties } from "../../../views/selection/SelectionOperation.js";
import type { SelectionToolName } from "../../../views/selection/types.js";

/** @internal */
export type SelectionToolbarState = "ready" | "disabled" | "active";

/** @internal */
export type SelectionToolOptions = SelectionOperationProperties;

/**
 * Configuration object used to customize the Action representing the Tool
 *
 * @internal
 */
export interface SelectionToolConfig extends SelectionToolOptions {
  /** @internal */
  icon: Icon["icon"];
  /** @internal */
  toolKey: string;
  /** @internal */
  toolName: SelectionToolName;
}