import * as PIXI from "pixi.js-legacy";
import * as MedsurfDraw from "../../public-api";
import * as Models from '@ascii-dev-user/medsurf-lib/models';
import { BaseElementContainer, BaseElementContainerModel, ColorMode, NumberMode } from "../../bases/elements/BaseElementContainer";
export declare class RectanglePrimitive extends BaseElementContainer<Models.RectanglePrimitive, BaseElementContainerModel<Models.RectanglePrimitive>> {
    protected _selftestSelected: boolean;
    private _moveInteraction;
    private _scaleInteraction;
    private _selectInteraction;
    protected _debounceControlSelectItemMethod: any;
    protected _debounceControlUnselectItemMethod: any;
    protected _rectangleElement: MedsurfDraw.Rectangle;
    protected _selftestElement: MedsurfDraw.SelftestPoint;
    protected _editButtonElement: MedsurfDraw.RoundButtonElement;
    protected _moveToBackButtonElement: MedsurfDraw.RoundButtonElement;
    protected _moveToFrontButtonElement: MedsurfDraw.RoundSubMenuElement;
    protected _deleteButtonElement: MedsurfDraw.RoundButtonElement;
    protected _degroupButtonElement: MedsurfDraw.RoundButtonElement;
    protected _horizontalMirrorButtonElement: MedsurfDraw.RoundButtonElement;
    protected _verticalMirrorButtonElement: MedsurfDraw.RoundSubMenuElement;
    protected _duplicateButtonElement: MedsurfDraw.RoundButtonElement;
    protected _clipboardButtonElement: MedsurfDraw.RoundButtonElement;
    constructor(image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage, model: Models.RectanglePrimitive);
    init(): void;
    draw(): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    static getInstance(image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage, rotateWithLine: boolean, imageWidth: number): RectanglePrimitive;
    protected _modeDefault(): void;
    protected _removeModeDefault(): void;
    protected _modeMarker(): void;
    protected _removeModeMarker(): void;
    protected _modeSelftest(): void;
    protected _removeModeSelftest(): void;
    protected _modeAuthor(): void;
    protected _removeModeAuthor(): void;
    protected _modeSelectLayerGroup(): void;
    protected _removeModeSelectLayerGroup(): void;
    protected _modeSelectGrouping(): void;
    protected _removeModeSelectGrouping(): void;
    protected _modeSelectItem(): void;
    protected _removeModeSelectItem(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeSelectItemColor(): void;
    protected _removeModeSelectItemColorLine(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _removeModeSelectItemColorFill(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _removeModeSelectItemColor(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeSelectItemNumber(): void;
    protected _removeModeSelectItemNumber(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeBlockedItem(): void;
    protected _removeModeBlockedItem(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeDrawItem(): void;
    protected _removeModeDrawItem(): void;
    protected _modeDrawSelect(): void;
    protected _removeModeDrawSelect(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeChooseSelect(): void;
    protected _removeModeChooseSelect(): void;
    protected _modeChooseUnselect(): void;
    protected _removeModeChooseUnselect(): void;
    protected _modeDelete(): void;
    collapseAllMenus(event: PIXI.InteractionEvent): void;
    onButtonEdit(): void;
    onButtonMoveToFront(): void;
    onButtonMoveToBack(): void;
    onMenuLayer(event: PIXI.InteractionEvent, visible: boolean): void;
    onButtonDelete(event: PIXI.InteractionEvent): void;
    onButtonDegroup(unselectElement?: boolean): void;
    onButtonVerticalMirror(): void;
    onButtonHorizontalMirror(): void;
    onMenuMirror(event: PIXI.InteractionEvent, visible: boolean): void;
    onButtonDuplicate(): void;
    onButtonClipboard(): void;
    onColor(mode: ColorMode, has: boolean, color: number | undefined, colorAlpha: number | undefined): void;
    onNumber(mode: NumberMode, number: number): void;
    onButtonRotateWithLine(override?: boolean): void;
    onButtonStatic(override?: boolean): void;
    controlSelectItem(): void;
    controlUnselectItem(parent: MedsurfDraw.PositionPoint): void;
    externControlSelectItem(): void;
    controlDrawItem(): void;
    startMove(event: PIXI.InteractionEvent): void;
    onMove(event: PIXI.InteractionEvent, dX: number, dY: number): void;
    endMove(event: PIXI.InteractionEvent): void;
    endPositionPointMove(): void;
    onHover(): void;
    onOut(): void;
    onSelectStart(event: PIXI.InteractionEvent, preventSelectItem?: boolean): void;
    onSelftest(): void;
    startScale(): void;
    onScale(scaleSide: MedsurfDraw.ScaleSideTypes, dX: number, dY: number, dW: number, dH: number): void;
    endScale(): void;
    startRotate(): void;
    onRotate(degree: number): void;
    endRotate(): void;
    onRotateWithLine(event: PIXI.InteractionEvent): void;
    onImageZoom(scaleX: number, scaleY: number): void;
    selftestChanged(): void;
    getRectangle(): PIXI.Rectangle;
    get moveInteraction(): MedsurfDraw.MoveInteraction<RectanglePrimitive>;
    set moveInteraction(value: MedsurfDraw.MoveInteraction<RectanglePrimitive>);
    get scaleInteraction(): MedsurfDraw.ScaleInteraction<RectanglePrimitive>;
    set scaleInteraction(value: MedsurfDraw.ScaleInteraction<RectanglePrimitive>);
    get selectInteraction(): MedsurfDraw.SelectInteraction<RectanglePrimitive>;
    set selectInteraction(value: MedsurfDraw.SelectInteraction<RectanglePrimitive>);
}
