import * as React from 'react';
import { TabContextMenuEvent } from '../../dockview/options';
import { DockviewPanelApi } from '../../api/groupPanelApi';
import { DockviewApi } from '../../api/component.api';
import { PanelCollection, PanelParameters } from '../types';
export interface IGroupPanelBaseProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
    api: DockviewPanelApi;
    containerApi: DockviewApi;
}
export interface IDockviewPanelProps<T extends {
    [index: string]: any;
} = any> extends IGroupPanelBaseProps<T> {
}
export interface DockviewReadyEvent {
    api: DockviewApi;
}
export interface IWatermarkPanelProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
    containerApi: DockviewApi;
    close(): void;
}
export interface IDockviewReactProps {
    components?: PanelCollection<IDockviewPanelProps>;
    tabComponents?: PanelCollection<IGroupPanelBaseProps>;
    watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
    onReady?: (event: DockviewReadyEvent) => void;
    debug?: boolean;
    tabHeight?: number;
    enableExternalDragEvents?: boolean;
    onTabContextMenu?: (event: TabContextMenuEvent) => void;
    hideBorders?: boolean;
    className?: string;
    disableAutoResizing?: boolean;
}
export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;
