import { ReactNode } from 'react';
import { ISkeleton } from '../skeleton';
import { PanelDockConfig } from '../types';
import { Panel } from './panel';
import { IWidget } from './widget';
export declare class PanelDock implements IWidget {
    readonly skeleton: ISkeleton;
    readonly config: PanelDockConfig;
    readonly isWidget = true;
    readonly isPanelDock = true;
    readonly id: string;
    readonly name: string;
    readonly align?: 'left' | 'right' | 'bottom' | 'center' | 'top' | undefined;
    private inited;
    private _body;
    get body(): ReactNode;
    private _shell;
    get content(): ReactNode;
    private _visible;
    get visible(): boolean;
    get actived(): boolean;
    readonly panelName: string;
    private _panel?;
    private _disabled;
    get panel(): Panel;
    constructor(skeleton: ISkeleton, config: PanelDockConfig);
    getDOMNode(): Element | Text;
    setVisible(flag: boolean): void;
    hide(): void;
    show(): void;
    toggle(): void;
    private setDisabled;
    disable(): void;
    enable(): void;
    get disabled(): boolean;
    togglePanel(): void;
    getName(): string;
    getContent(): ReactNode;
    hidePanel(): void;
    showPanel(): void;
    /**
     * @deprecated
     */
    onActiveChange(func: () => any): () => void;
}
export declare function isPanelDock(obj: any): obj is PanelDock;
