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 } from "../../bases/elements/BaseElementContainer";
export declare class LegendCollection extends BaseElementContainer<Models.LegendCollection, BaseElementContainerModel<Models.LegendCollection>> {
    legendColumns: MedsurfDraw.LegendColumn[];
    private _moveInteraction;
    private _scaleInteraction;
    private _selectInteraction;
    protected _debounceControlSelectItemMethod: any;
    protected _debounceControlUnselectItemMethod: any;
    protected _selftestElement: MedsurfDraw.WedgePoint;
    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;
    constructor(image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage, model: Models.LegendCollection);
    init(): void;
    draw(): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    static getInstance(image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage, imageWidth: number): LegendCollection;
    addLegendColumn(): void;
    removeLegendColumn(model: Models.LegendColumn): void;
    getSelftestPosition(): Models.Point;
    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(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeSelectGrouping(): void;
    protected _removeModeSelectGrouping(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeSelectItem(): void;
    protected _removeModeSelectItem(parent: MedsurfDraw.ImageObject, mode: string): void;
    protected _modeSelectChild(): void;
    protected _removeModeSelectChild(): void;
    protected _modeSelectRow(): void;
    protected _removeModeSelectRow(): void;
    protected _modeBlockedItem(): void;
    protected _removeModeBlockedItem(): void;
    protected _modeDrawItem(): void;
    protected _removeModeDrawItem(): void;
    protected _modeCloneItem(): void;
    protected _removeModeCloneItem(): void;
    protected _modeDelete(): void;
    collapseAllMenus(event: PIXI.InteractionEvent): void;
    onButtonEdit(): void;
    onButtonMoveToFront(): void;
    onButtonMoveToBack(): void;
    onButtonDelete(event: PIXI.InteractionEvent): void;
    onButtonDegroup(unselectElement?: boolean): void;
    onButtonDuplicate(): void;
    onButtonClipboard(): void;
    onButtonSetSelftest(event: PIXI.InteractionEvent): void;
    onButtonChooseSelftest(event: PIXI.InteractionEvent): void;
    onButtonStatic(override?: boolean): void;
    onButtonAddLegendColumn(): void;
    controlSelectItem(): void;
    controlUnselectItem(image: MedsurfDraw.Image): void;
    externControlSelectItem(): void;
    controlSelectLayerGroup(image: MedsurfDraw.Image): boolean;
    controlUnselectLayerGroup(): void;
    controlDrawItem(isNew: boolean): void;
    controlCloneItem(): void;
    startMove(): void;
    onMove(event: PIXI.InteractionEvent, dX: number, dY: number): void;
    endMove(event: PIXI.InteractionEvent): void;
    onRelease(): void;
    onSelftestMove(event: PIXI.InteractionEvent, dX: number, dY: number): void;
    onSelftestEndMove(): 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;
    startDraw(): void;
    startDrawScale(): void;
    onDraw(event: PIXI.InteractionEvent): void;
    get moveInteraction(): MedsurfDraw.MoveInteraction<LegendCollection>;
    set moveInteraction(value: MedsurfDraw.MoveInteraction<LegendCollection>);
    get scaleInteraction(): MedsurfDraw.ScaleInteraction<LegendCollection>;
    set scaleInteraction(value: MedsurfDraw.ScaleInteraction<LegendCollection>);
    get selectInteraction(): MedsurfDraw.SelectInteraction<LegendCollection>;
    set selectInteraction(value: MedsurfDraw.SelectInteraction<LegendCollection>);
}
