import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaImageUploader } from '../../vega-image-uploader';
/** The VegaImageUploaderDefaultContentRenderer class is a TypeScript React component that renders a button-like element for uploading images. */
export declare class VegaImageUploaderDefaultContentRenderer extends VegaSlimmer {
  inputController: VegaImageUploader['vegaImageUploaderInputController'];
  valueController: VegaImageUploader['vegaImageUploaderValueController'];
  disabled: VegaImageUploader['disabled'];
  dropFileFilterController: VegaImageUploader['dropFileFilterController'];
  actionTitle: VegaImageUploader['actionTitle'];
  actionSubTitle: VegaImageUploader['actionSubTitle'];
  translationSlimmer: VegaImageUploader['translationSlimmer'];
  /**
   * The render function returns a div element with a button-like appearance that triggers a click event when clicked or when the enter key is pressed.
   *
   * @returns {HTMLDivElement} The render() method is returning an HTMLDivElement.
   */
  render(): HTMLDivElement;
  private renderSubtitle;
  private handleUploaderClick;
  /**
   * An event handler that is triggered when files are dropped onto the image uploader drop area.
   *
   * preventDefault() is always called (even when `disabled`) to stop the browser's default
   * behavior of navigating to the dropped file URL — some browsers (e.g., Firefox) will navigate
   * away from the page if a file drop is not preventDefault'd by some handler in the propagation
   * path. stopPropagation() is called because the drop has been consumed by this component and
   * parent containers should not re-process the same files (e.g., a page-level drop handler
   * shouldn't also try to upload them). Parent containers can still observe dragenter/dragover
   * to manage drag overlays and dismiss them via the dragleave/dragend events.
   *
   * @param {DragEvent} e drag event object
   */
  private dropHandler;
  /**
   * Used to prevent the default browser behavior on dragenter/dragover so the element is registered
   * as a valid drop target. stopPropagation() is intentionally omitted here so parent containers
   * can still react to drag events (e.g., page-level drag overlays).
   *
   * @param {DragEvent} e drag event object
   */
  private handleDragEvent;
}
