import { CanvasElementHandler } from "../../CanvasElementHandler";
import { EventManager } from "../EventManager";
import { Viewer } from "../../Viewer";
import { Canvas } from "../../Canvas";
import { SelectionHandler } from "../Selection/SelectionHandler";
export declare class FloatingToolbarManager {
    private _canvasElementHandler;
    private _viewer;
    private _canvas;
    private _selectionHandler;
    private _config;
    private _floatingToolbarElementHandler;
    private _descriptors;
    private _eventManager;
    private _currentHandlerItem;
    private _dndIsInProgress;
    private _selectedHandler;
    private _isInEditMode;
    private readonly _handleId;
    private readonly _selectId;
    private readonly _editId;
    private readonly _deleteId;
    constructor(_canvasElementHandler: CanvasElementHandler, _viewer: Viewer, _canvas: Canvas, _selectionHandler: SelectionHandler, config?: IFloatingItemToolbarConfig);
    set configuration(conf: IFloatingItemToolbarConfig);
    set eventManager(eventManager: EventManager);
    private _onItemHandlerHover;
    private _onSelectButtonClick;
    private _onHandleButtonClick;
    private _onEditButtonClick;
    private _onDeleteButtonClick;
    private _setCurrentItemHandler;
    private _currentItemHandlerExitedEditMode;
    private _currentItemHandlerEnteredEditMode;
    private _updateButtonsVisibility;
    private _getCurrentPermissions;
    private _onItemPropertyChanged;
    private _fullUpdate;
    private _onSelectedItemChanged;
    private _updateView;
    private _updatePosition;
    private _getPositionMode;
    private get _defaultConfig();
    get enabled(): boolean;
    set enabled(v: boolean);
    private get _isShowFloatingItemToolbar();
    private _onDndStarted;
    private _onDndFinished;
    dispose(): void;
}
export declare enum FloatingToolbarMode {
    Classic = "Classic",
    Inside = "Inside"
}
export interface IFloatingItemToolbarConfig {
    enabled?: boolean;
    mode?: FloatingToolbarMode;
    cssClass?: string;
    buttons?: FloatingToolbarButton[];
    handleButtonClass?: string;
    selectButtonClass?: string;
    editButtonClass?: string;
    deleteButtonClass?: string;
    bigButtonCssClass?: string;
}
export declare type FloatingToolbarButton = "Handle" | "Select" | "Edit" | "Delete";
