import { BlockModel, IImageBlockSettings } from '../../../models/index';
import { BlockManager } from '../../base/block-manager';
export declare class ImageRenderer {
    private parent;
    private isResizing;
    private startDimensions;
    private startPosition;
    aspectRatio: number;
    private currentResizeHandle;
    private currentImage;
    private resizeOverlay;
    private animationFrameId;
    constructor(manager: BlockManager);
    private addEventListeners;
    private removeEventListeners;
    /**
     * Renders a image block
     *
     * @param {BlockModel} block - The block model containing data.
     * @returns {HTMLElement} - The rendered image block element.
     * @hidden
     */
    renderImage(block: BlockModel): HTMLElement;
    private createImageContainer;
    private configureImageElement;
    /**
     * Handles image upload
     *
     * @param {HTMLImageElement} img - The image element whose source will be updated.
     * @param {IImageBlockSettings} settings - Image configuration including allowedTypes and saveFormat.
     * @returns {void}
     * @hidden
     */
    handleImageUpload(img: HTMLImageElement, settings: IImageBlockSettings): void;
    private handleDocumentClick;
    /**
     * Handles the paste event for images.
     *
     * @param {File | Blob} file - The file or blob to be pasted.
     * @returns {Promise<void>} - A promise that resolves when the image is pasted.
     * @hidden
     */
    handleFilePaste(file: File | Blob): Promise<void>;
    private getImageSrcFromFile;
    private createResizeHandle;
    /**
     * Handles image resize
     *
     * @param {HTMLElement} container - The wrapper element that hosts the image and resize handles.
     * @param {HTMLImageElement} img - The image element to which resize handles are attached.
     * @returns {void}
     * @hidden
     */
    addResizeHandles(container: HTMLElement, img: HTMLImageElement): void;
    private startImageResize;
    private handleImageResize;
    private calculateNewDimensions;
    private stopImageResize;
    destroy(): void;
}
