import { HeightMode } from '../../types/src/resizable-element';
import { default as HighlightableElement } from './highlightable-element';

export default class ResizableElement extends HighlightableElement {
    containingElement: HTMLElement;
    /** The width of the image. */
    width: string;
    /** The height of the image. */
    height: string;
    /** Make the image resizable */
    resizable: boolean;
    /** The height mode of the image. */
    heightMode: HeightMode;
    /** Whether the image should be resized without a limit */
    noLimit: boolean;
    parentContainer: HTMLElement | null;
    protected isResizeActive: boolean;
    protected isResizing: boolean;
    protected resizeSize: {
        height: number;
        width: number;
    };
    private maxWidth;
    private maxHeight;
    private minWidth;
    private minHeight;
    get ratio(): number;
    get keepRatio(): boolean;
    constructor();
    handleDocumentMouseDown(event: MouseEvent): void;
    startResizing(): void;
    stopResizing(): void;
    handleResizeDragging(event: MouseEvent, revertHorizontal?: boolean, revertVertical?: boolean): void;
    private handleResizeDraggingTopLeft;
    private handleResizeDraggingTopRight;
    private handleResizeDraggingBottomLeft;
    private handleResizeDraggingBottomRight;
    renderResizer(): import('lit').TemplateResult<1>;
}
