import * as PIXI from "pixi.js-legacy";
import * as MedsurfDraw from "../../public-api";
import { BaseContainer, BaseContainerImageModel } from "../../bases/elements/BaseContainer";
export declare enum ScaleElementType {
    NOT_SCALEABLE = 0,
    SCALEABLE = 1,
    TEXT = 2
}
export declare class ScaleElementModel extends BaseContainerImageModel {
    type: ScaleElementType;
    rectangle: PIXI.Rectangle;
}
export declare class ScaleElement extends BaseContainer<ScaleElementModel> {
    protected _debounceTypeChangedMethod: EventListener;
    protected _rectangleElement: MedsurfDraw.Rectangle;
    protected _topLeftCircleElement: MedsurfDraw.Circle;
    protected _topRightCircleElement: MedsurfDraw.Circle;
    protected _bottomRightCircleElement: MedsurfDraw.Circle;
    protected _bottomLeftCircleElement: MedsurfDraw.Circle;
    protected _topLineElement: MedsurfDraw.StraightLine;
    protected _rightLineElement: MedsurfDraw.StraightLine;
    protected _bottomLineElement: MedsurfDraw.StraightLine;
    protected _leftLineElement: MedsurfDraw.StraightLine;
    constructor(model: ScaleElementModel);
    init(): void;
    draw(): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    protected _setLockAspectRatio(): void;
    protected _unsetLockAspectRatio(): void;
    protected _setMoveRelative(): void;
    protected _unsetMoveRelative(): void;
    protected _typeChanged(): void;
    onPointerOver(event: PIXI.InteractionEvent): void;
    onPointerDownY(event: PIXI.InteractionEvent): void;
    onPointerDownWidth(event: PIXI.InteractionEvent): void;
    onPointerDownHeight(event: PIXI.InteractionEvent): void;
    onPointerDownX(event: PIXI.InteractionEvent): void;
    onPointerDownXY(event: PIXI.InteractionEvent): void;
    onPointerDownWidthY(event: PIXI.InteractionEvent): void;
    onPointerDownWidthHeight(event: PIXI.InteractionEvent): void;
    onPointerDownXHeight(event: PIXI.InteractionEvent): void;
    onScale(event: PIXI.InteractionEvent): void;
    endScale(event: PIXI.InteractionEvent): void;
    get type(): ScaleElementType;
    set type(value: ScaleElementType);
    get rectangle(): PIXI.Rectangle;
    set rectangle(value: PIXI.Rectangle);
}
