import { DockviewApi } from '../api/component.api';
import { DockviewPanelApiImpl } from '../api/groupPanelApi';
import { Event } from '../events';
import { GroupPanelUpdateEvent, GroupviewPanelState, IGroupPanel, IGroupPanelInitParameters } from '../groupview/groupPanel';
import { GroupviewPanel } from '../groupview/groupviewPanel';
import { CompositeDisposable } from '../lifecycle';
import { IGroupPanelView } from './defaultGroupPanelView';
export declare class DockviewGroupPanel extends CompositeDisposable implements IGroupPanel {
    readonly id: string;
    private readonly containerApi;
    private readonly mutableDisposable;
    readonly api: DockviewPanelApiImpl;
    private _group;
    private _params?;
    readonly onDidStateChange: Event<void>;
    private _view?;
    private _title;
    private _suppressClosable;
    get title(): string;
    get suppressClosable(): boolean;
    get group(): GroupviewPanel | undefined;
    get view(): IGroupPanelView | undefined;
    constructor(id: string, containerApi: DockviewApi);
    init(params: IGroupPanelInitParameters): void;
    focus(): void;
    setDirty(isDirty: boolean): void;
    close(): Promise<boolean>;
    toJSON(): GroupviewPanelState;
    setTitle(title: string): void;
    setSuppressClosable(suppressClosable: boolean): void;
    update(event: GroupPanelUpdateEvent): void;
    updateParentGroup(group: GroupviewPanel, isGroupActive: boolean): void;
    layout(width: number, height: number): void;
    dispose(): void;
}
