import { IDraggable } from "./IDraggable";
import { IDropTarget } from "./IDropTarget";
import { IJsonTabSetNode } from "./IJsonModel";
import { Node } from "./Node";
export declare class TabSetNode extends Node implements IDraggable, IDropTarget {
    static readonly TYPE = "tabset";
    getName(): string | undefined;
    isEnableActiveIcon(): boolean;
    getSelected(): number;
    getSelectedNode(): Node | undefined;
    getWeight(): number;
    getAttrMinWidth(): number;
    getAttrMinHeight(): number;
    getMinWidth(): number;
    getMinHeight(): number;
    getAttrMaxWidth(): number;
    getAttrMaxHeight(): number;
    getMaxWidth(): number;
    getMaxHeight(): number;
    /**
     * Returns the config attribute that can be used to store node specific data that
     * WILL be saved to the json. The config attribute should be changed via the action Actions.updateNodeAttributes rather
     * than directly, for example:
     * this.state.model.doAction(
     *   FlexLayout.Actions.updateNodeAttributes(node.getId(), {config:myConfigObject}));
     */
    getConfig(): any;
    isMaximized(): boolean;
    isActive(): boolean;
    isEnableDeleteWhenEmpty(): boolean;
    isEnableDrop(): boolean;
    isEnableTabWrap(): boolean;
    isEnableDrag(): boolean;
    isEnableDivide(): boolean;
    isEnableMaximize(): boolean;
    isEnableClose(): boolean;
    isEnableSingleTabStretch(): boolean;
    isEnableTabStrip(): boolean;
    isAutoSelectTab(): boolean;
    isEnableTabScrollbar(): boolean;
    getClassNameTabStrip(): string | undefined;
    getTabLocation(): string;
    toJson(): IJsonTabSetNode;
    getWindowId(): string;
}
