import * as PIXI from "pixi.js-legacy";
import * as MedsurfDraw from "../../public-api";
import * as Models from "@ascii-dev-user/medsurf-lib/models";
import { BaseContainer, BaseContainerImageModel } from "../../bases/elements/BaseContainer";
import { BaseElementContainer, BaseElementContainerModel } from "../../bases/elements/BaseElementContainer";
export declare class SelectImageObjectElementModel extends BaseContainerImageModel {
}
export declare class SelectItemElement extends BaseContainer<SelectImageObjectElementModel> {
    protected _displayObject: BaseElementContainer<Models.ImageObject, BaseElementContainerModel<Models.ImageObject>> | MedsurfDraw.Text | MedsurfDraw.Image | undefined;
    protected _menuShown: boolean;
    protected _debounceUpdateRectangleMethod: EventListener;
    protected _debounceOnMoveMethod: EventListener;
    protected _scaleElement: MedsurfDraw.ScaleElement;
    protected _rotateElement: MedsurfDraw.RotateElement;
    protected _rotateScaleElement: MedsurfDraw.RotateScaleElement;
    protected _caretElement: MedsurfDraw.CaretElement;
    protected _selectionElement: MedsurfDraw.SelectionElement;
    protected _menuElement: MedsurfDraw.MenuElement;
    protected _colorElement: MedsurfDraw.ColorElement;
    protected _numberElement: MedsurfDraw.NumberElement;
    constructor(model: SelectImageObjectElementModel);
    init(): void;
    draw(): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    updateRectangle(): {
        displayObject: BaseElementContainer<Models.ImageObject, BaseElementContainerModel<Models.ImageObject>> | MedsurfDraw.Image | undefined;
        rectangle: PIXI.Rectangle | undefined;
    };
    saveColor(color: number | undefined, colorAlpha: number | undefined): void;
    protected _setElements(): void;
    protected _getSelectedDisplayObject(): BaseElementContainer<Models.ImageObject, BaseElementContainerModel<Models.ImageObject>> | MedsurfDraw.Image | undefined;
    protected _getSelectedItemsRectangle(displayObject: PIXI.DisplayObject | undefined): PIXI.Rectangle | undefined;
    protected _setEventsForDisplayObjects(displayObject: BaseElementContainer<Models.ImageObject, BaseElementContainerModel<Models.ImageObject>> | MedsurfDraw.Text | MedsurfDraw.Image | undefined): void;
    protected _unsetEventsForDisplayObjects(displayObject: BaseElementContainer<Models.ImageObject, BaseElementContainerModel<Models.ImageObject>> | MedsurfDraw.Text | MedsurfDraw.Image | undefined): void;
    protected _modeDefault(): void;
    protected _removeModeDefault(): void;
    protected _modeAuthor(): void;
    protected _removeModeAuthor(): void;
    displayMenu(event: MouseEvent): void;
    controlHideMenu(): void;
    controlStartMove(): void;
    controlSetDefaultMode(): void;
    startScale(event: PIXI.InteractionEvent, scaleSide: MedsurfDraw.ScaleSideTypes): void;
    onScale(event: PIXI.InteractionEvent): void;
    endScale(event: PIXI.InteractionEvent): void;
    startRotate(): void;
    onRotate(degree: number): void;
    endRotate(): void;
    onColor(hasLine: boolean, color: number, colorAlpha: number): void;
    onNumber(number: number): void;
    onImageZoom(scaleX: number, scaleY: number): void;
    get displayObject(): BaseElementContainer<Models.ImageObject, BaseElementContainerModel<Models.ImageObject>> | MedsurfDraw.Text | MedsurfDraw.Image | undefined;
    set displayObject(value: BaseElementContainer<Models.ImageObject, BaseElementContainerModel<Models.ImageObject>> | MedsurfDraw.Text | MedsurfDraw.Image | undefined);
    get menuShown(): boolean;
}
