import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaImageUploader } from '../../vega-image-uploader';
/** The `VegaImageUploaderActionsRenderer` class is a TypeScript React component that renders action buttons for an image uploader component. */
export declare class VegaImageUploaderActionsRenderer extends VegaSlimmer {
  inputController: VegaImageUploader['vegaImageUploaderInputController'];
  valueController: VegaImageUploader['vegaImageUploaderValueController'];
  previewController: VegaImageUploader['vegaImageUploaderPreviewController'];
  removeController: VegaImageUploader['vegaImageUploaderRemoveController'];
  disabled: VegaImageUploader['disabled'];
  showPreviewButton: VegaImageUploader['showPreviewButton'];
  showRemoveButton: VegaImageUploader['showRemoveButton'];
  showReplaceButton: VegaImageUploader['showReplaceButton'];
  removeEventEmitter: VegaImageUploader['removeEventEmitter'];
  isInDarkMode: VegaImageUploader['isInDarkMode'];
  /**
   * The handleClick function takes a type parameter and performs different actions based on the value of the type.
   *
   * @param {string} type - The `type` parameter is a string that represents the type of action to be performed. It can have one of the following values: 'Preview', 'Delete', or 'Replace'.
   */
  handleClick(type: string): void;
  /**
   * The render function returns a span element with action buttons based on certain conditions.
   *
   * @returns {HTMLSpanElement | null} an HTMLSpanElement if the condition "withActions" is true. Otherwise, it returns null.
   */
  render(): HTMLSpanElement | null;
  /**
   * render the action button by action type, preview button, delete button
   *
   * @param {UploaderActionTypes} actionType action type
   * @returns {HTMLVegaButtonCircleElement} tooltip element
   */
  private renderActionButton;
  /**
   * get action button props icon, onClick, label by action type
   *
   * @param {UploaderActionTypes} actionType action type
   * @returns {Nullable<ActionButtonOptions>} the options result
   */
  private getButtonOptions;
}
