import { ToolbarInternalButtonConfig } from './toolbar-button-slimmer.abstract';
import { VegaRichTextEditor } from '../../../vega-rich-text-editor';
import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
export declare type InsertImageType = 'upload' | 'url';
export declare type InsertImageItem = {
  key: InsertImageType;
  label: string;
};
export declare type InsertURLForm = {
  url: string;
};
export declare class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
  private static readonly items;
  protected insertImageController: VegaRichTextEditor['insertImageController'];
  protected imageInsertedEventEmitter: VegaRichTextEditor['imageInsertedEventEmitter'];
  protected selectionController: VegaRichTextEditor['selectionController'];
  private uploadInputRef;
  private dropdownRef;
  private insertURLInputRef;
  private insertURLModalRef;
  private updateNodeURLMap;
  private currentRange;
  private currentSelectedBlocks;
  private currentSelectedNodes;
  constructor();
  protected renderBtnWrapper(renderBtn: (toolbarInternalButton: ToolbarInternalButtonConfig) => HTMLElement): HTMLElement;
  protected isSelected(): boolean;
  protected isDisabled(): boolean;
  private renderDropdownContent;
  private renderUploadInput;
  private renderInsertURLModal;
  private addDropdownObserver;
  private addModalCancelObserver;
  private addModalInsertObserver;
  private insertURLImage;
  private handleDropdownItemClick;
  /**
   * The below method is e2e-test covered in
   * @see{module:should-update-url-properly-when-upload-images}
   */
  private fileInputChange;
  /**
   * The below method is e2e-test covered in
   * @see{module:should-update-url-properly-when-upload-images}
   */
  private applyImageNode;
  private normalizeSafeImageUrl;
}
