import { UiRelativeWorkSpaceViewPosition } from "../../generated/UiRelativeWorkSpaceViewPosition";
import { UiWorkSpaceLayoutViewConfig } from "../../generated/UiWorkSpaceLayoutViewConfig";
import { UiWorkSpaceLayout } from "./UiWorkSpaceLayout";
import { UiSplitSizePolicy } from "../../generated/UiSplitSizePolicy";
import { UiToolbar } from "../tool-container/toolbar/UiToolbar";
import { UiWorkSpaceLayoutItemConfig } from "../../generated/UiWorkSpaceLayoutItemConfig";
import { TeamAppsUiContext } from "../TeamAppsUiContext";
import { ViewContainer, ViewContainerListener } from "./ViewContainer";
import { WindowLayoutDescriptor } from "./WindowLayoutDescriptor";
import { UiViewGroupPanelState } from "../../generated/UiViewGroupPanelState";
import { UiComponent } from "../UiComponent";
export declare class LocalViewContainer implements ViewContainer {
    private workSpaceLayout;
    readonly windowId: string;
    private context;
    private listener;
    private static logger;
    private static DND_MIME_TYPE;
    private itemTree;
    private _toolbar;
    private $mainDiv;
    private $toolbarContainer;
    private $contentContainer;
    private $dndActiveRectangle;
    private $dndImage;
    private lastDndEventType;
    private $maximizationContainerWrapper;
    private $maximizationContainer;
    private $normalContainerOfMaximizedTabPanel;
    private $minimizedViewsBar;
    private viewEventsSuppressed;
    constructor(workSpaceLayout: UiWorkSpaceLayout, windowId: string, viewConfigs: UiWorkSpaceLayoutViewConfig[], initialLayout: UiWorkSpaceLayoutItemConfig, context: TeamAppsUiContext, listener: ViewContainerListener);
    private readonly workSpaceLayoutId;
    setToolbar(toolbar: UiToolbar): void;
    private updateToolbarVisibility;
    getViewInfo(viewName: string): import("./ViewInfo").ViewInfo;
    readonly viewNames: string[];
    private createSubWindow;
    private getViewNameForDragTarget;
    private determineDropPosition;
    private findParentTabPanel;
    private setRootItem;
    private onRootItemEmptyStateChanged;
    private createTabPanelItem;
    private tabSelected;
    private tabNeedsRefresh;
    private createView;
    addViewToTopLevel(newViewConfig: UiWorkSpaceLayoutViewConfig, windowId: string, relativePosition: UiRelativeWorkSpaceViewPosition, sizePolicy: UiSplitSizePolicy, referenceChildSize: number): void;
    addViewRelativeToOtherView(newViewConfig: UiWorkSpaceLayoutViewConfig, existingViewName: string, relativePosition: UiRelativeWorkSpaceViewPosition, sizePolicy: UiSplitSizePolicy, referenceChildSize: number): void;
    addViewAsTab(newViewConfig: UiWorkSpaceLayoutViewConfig, itemId: string, select: boolean): void;
    addViewAsNeighbourTab(newViewConfig: UiWorkSpaceLayoutViewConfig, existingViewName: string, select: boolean): void;
    private addViewItemToNewPosition;
    removeView(viewName: string, updateIndex?: boolean): void;
    private removeEmptyTabPanelFromItemTree;
    moveViewToTopLevel(viewName: string, windowId: string, relativePosition: UiRelativeWorkSpaceViewPosition, sizePolicy: UiSplitSizePolicy, referenceChildSize: number): void;
    moveViewRelativeToOtherView(viewName: string, newSiblingName: string, relativePosition: UiRelativeWorkSpaceViewPosition, sizePolicy: UiSplitSizePolicy, referenceChildSize: number): void;
    moveViewToTab(viewName: string, newSiblingName: string): void;
    refreshViewComponent(viewName: string, component: UiComponent): void;
    refreshViewAttributes(viewName: string, tabIcon: string, tabCaption: string, tabCloseable: boolean, visible: boolean): void;
    setViewVisible(viewName: string, visible: boolean): void;
    redefineLayout(newLayout: UiWorkSpaceLayoutItemConfig, addedViewConfigs: UiWorkSpaceLayoutViewConfig[]): void;
    selectViewTab(viewName: string): void;
    setViewGroupPanelState(viewGroupId: string, panelState: UiViewGroupPanelState): void;
    private setViewGroupPanelState2;
    private minimizeTabPanel;
    private maximizeTabPanel;
    private restoreTabPanel;
    destroy(): void;
    getMainDomElement(): HTMLElement;
    private createLayoutDescriptor;
    getLayoutDescriptor(): Promise<WindowLayoutDescriptor>;
    private fireViewNeedsRefreshForAllEmptyVisibleLazyTabs;
}
