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 FillCollection extends BaseElementContainer<Models.FillCollection, BaseElementContainerModel<Models.FillCollection>> {
    private _lines;
    private _options;
    private _moveInteraction;
    private _selectInteraction;
    private _chooseInteraction;
    protected _debounceControlSelectItemMethod: any;
    protected _debounceControlUnselectItemMethod: any;
    private _fillElement;
    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.FillCollection);
    init(): void;
    startDrawing(): void;
    stopDrawing(selfheal_timeout: number): void;
    draw(): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    static getInstance(image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage, ids: string[]): FillCollection;
    validate(): boolean;
    isPointInPolygon(point: PIXI.IPoint): boolean;
    getNearestPointForPoint(point: PIXI.IPoint): PIXI.IPoint;
    addLine(line: MedsurfDraw.Line): void;
    removeLine(line: MedsurfDraw.Line): boolean;
    protected _foot(start: PIXI.IPoint, end: PIXI.IPoint, point: PIXI.IPoint): PIXI.Point;
    protected _isOnLine(start: PIXI.IPoint, end: PIXI.IPoint, foot: PIXI.IPoint): boolean;
    protected _removeModeInit(): void;
    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 _modeBlockedItem(): void;
    protected _removeModeBlockedItem(): void;
    protected _modeDrawItem(): void;
    protected _removeModeDrawItem(): void;
    protected _modeChooseItem(): void;
    protected _removeModeChooseItem(): void;
    protected _modeChooseSelect(): void;
    protected _removeModeChooseSelect(): void;
    protected _modeChooseUnselect(): void;
    protected _removeModeChooseUnselect(): 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;
    onButtonSetInteractive(override?: boolean): void;
    onButtonBezier(override?: boolean): void;
    onColor(mode: ColorMode, has: boolean, color: number | undefined, colorAlpha: number | undefined): void;
    onNumber(mode: NumberMode, number: number): void;
    onButtonStatic(override?: boolean): void;
    controlSelectItem(): void;
    controlUnselectItem(image: MedsurfDraw.Image): void;
    externControlSelectItem(): void;
    controlSelectLayerGroup(image: MedsurfDraw.Image): boolean;
    controlUnselectLayerGroup(): void;
    controlDrawItem(): void;
    controlChooseItem(): void;
    controlCloneItem(): void;
    onMove(event: PIXI.InteractionEvent, dX: number, dY: number): void;
    onHover(): void;
    onOut(): void;
    onSelectStart(event: PIXI.InteractionEvent, preventSelectItem?: boolean): void;
    onInteractive(): void;
    onInteractiveRelease(event: PIXI.InteractionEvent): void;
    chooseElement(event: PIXI.InteractionEvent, element: MedsurfDraw.DrawableObject): void;
    get moveInteraction(): MedsurfDraw.MoveInteraction<FillCollection>;
    set moveInteraction(value: MedsurfDraw.MoveInteraction<FillCollection>);
    get selectInteraction(): MedsurfDraw.SelectInteraction<FillCollection>;
    set selectInteraction(value: MedsurfDraw.SelectInteraction<FillCollection>);
    get chooseInteraction(): MedsurfDraw.ChooseInteraction<FillCollection>;
    set chooseInteraction(value: MedsurfDraw.ChooseInteraction<FillCollection>);
    get lines(): MedsurfDraw.Line[];
    set lines(value: MedsurfDraw.Line[]);
    get options(): Models.ElementOptions;
    set options(value: Models.ElementOptions);
}
