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";
export declare enum SelectGroupType {
    GROUPING = 0,
    LAYERGROUP = 1
}
export declare class SelectGroupModel extends BaseContainerImageModel {
}
export declare class SelectGroupElement extends BaseContainer<SelectGroupModel> {
    protected _type: SelectGroupType;
    protected _layerGroup: Models.LayerGroup;
    protected _grouping: Models.Grouping;
    protected _displayObjects: MedsurfDraw.ImageObject[];
    protected _imageObjectMenu: MedsurfDraw.MenuEntryModel[];
    protected _groupingMenu: MedsurfDraw.MenuEntryModel[];
    private _menuShown;
    protected _contextInteraction: MedsurfDraw.ContextInteraction<SelectGroupElement>;
    protected _moveInteraction: MedsurfDraw.MoveInteraction<SelectGroupElement>;
    protected _debounceControlSelectDefaultModeMethod: EventListener;
    protected _selectElement: MedsurfDraw.Rectangle;
    protected _imageObjectMenuElement: MedsurfDraw.MenuElement;
    protected _groupingMenuElement: MedsurfDraw.MenuElement;
    protected _editButtonElement: MedsurfDraw.RoundButtonElement;
    protected _moveToBackButtonElement: MedsurfDraw.RoundButtonElement;
    protected _moveToFrontButtonElement: MedsurfDraw.RoundSubMenuElement;
    protected _deleteButtonElement: MedsurfDraw.RoundButtonElement;
    protected _degroupButtonElement: MedsurfDraw.RoundButtonElement;
    protected _duplicateButtonElement: MedsurfDraw.RoundButtonElement;
    protected _clipboardButtonElement: MedsurfDraw.RoundButtonElement;
    protected _interactiveGroupingButtonElement: MedsurfDraw.RoundButtonElement;
    protected _poiGroupingButtonElement: MedsurfDraw.RoundButtonElement;
    protected _textGroupingButtonElement: MedsurfDraw.RoundButtonElement;
    protected _legendGroupingButtonElement: MedsurfDraw.RoundButtonElement;
    constructor(model: SelectGroupModel);
    init(): void;
    draw(): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    setGrouping(model: Models.Grouping): boolean;
    setLayerGroup(model: Models.LayerGroup): boolean;
    protected _setElements(): void;
    protected _getSelectedDisplayObjects(): PIXI.DisplayObject[];
    protected _getSelectedItemsRectangle(displayObjects: PIXI.DisplayObject[]): PIXI.Rectangle | undefined;
    protected _setEventsForDisplayObjects(displayObjects: PIXI.DisplayObject[]): void;
    protected _unsetEventsForDisplayObjects(displayObjects: PIXI.DisplayObject[]): void;
    protected _modeDefault(): void;
    protected _removeModeDefault(): void;
    protected _modeAuthor(): void;
    protected _removeModeAuthor(): void;
    displayMenu(): void;
    collapseAllMenus(event: PIXI.InteractionEvent): void;
    onButtonEdit(): void;
    onButtonMoveToFront(): void;
    onButtonMoveToBack(): void;
    onButtonDelete(event: PIXI.InteractionEvent): void;
    onButtonDegroup(): void;
    onButtonDuplicate(): void;
    onButtonClipboard(): void;
    onButtonInteractiveGrouping(): void;
    onButtonPoiGrouping(): void;
    onButtonTextGrouping(): void;
    onButtonLegendGrouping(): void;
    controlHideMenu(): void;
    controlSetDefaultMode(): void;
    endRight(event: PIXI.InteractionEvent): void;
    startMove(event: PIXI.InteractionEvent): void;
    onMove(event: PIXI.InteractionEvent, dX: number, dY: number): void;
    endMove(event: PIXI.InteractionEvent): void;
    onRelease(): void;
    get grouping(): Models.Grouping;
    get layerGroup(): Models.LayerGroup;
    get displayObjects(): MedsurfDraw.ImageObject[];
    set displayObjects(value: MedsurfDraw.ImageObject[]);
    get imageObjectMenu(): MedsurfDraw.MenuEntryModel[];
    set imageObjectMenu(value: MedsurfDraw.MenuEntryModel[]);
    get groupingMenu(): MedsurfDraw.MenuEntryModel[];
    set groupingMenu(value: MedsurfDraw.MenuEntryModel[]);
    get contextInteraction(): MedsurfDraw.ContextInteraction<SelectGroupElement>;
    set contextInteraction(value: MedsurfDraw.ContextInteraction<SelectGroupElement>);
    get moveInteraction(): MedsurfDraw.MoveInteraction<SelectGroupElement>;
    set moveInteraction(value: MedsurfDraw.MoveInteraction<SelectGroupElement>);
    get menuShown(): boolean;
}
