import { DockLocation } from "../DockLocation";
import { Orientation } from "../Orientation";
import { IDropTarget } from "./IDropTarget";
import { IJsonBorderNode } from "./IJsonModel";
import { Node } from "./Node";
import { TabNode } from "./TabNode";
export declare class BorderNode extends Node implements IDropTarget {
    static readonly TYPE = "border";
    getLocation(): DockLocation;
    getClassName(): string | undefined;
    getBorderBarSize(): number;
    getSize(): any;
    getMinSize(): number;
    getSelected(): number;
    getSelectedNode(): TabNode | undefined;
    getOrientation(): Orientation;
    /**
     * 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;
    isShowing(): boolean;
    toJson(): IJsonBorderNode;
}
