import React from 'react'; import { DockviewWillDropEvent, DockviewDidDropEvent, IWatermarkPanelProps, IDockviewHeaderActionsProps, IDockviewPanelHeaderProps, IDockviewPanelProps, DockviewOptions, DockviewReadyEvent, BuiltInContextMenuItem, BuiltInChipContextMenuItem, ContextMenuItemConfig, GetTabContextMenuItemsParams, GetTabGroupChipContextMenuItemsParams, IContextMenuItemComponentProps } from 'dockview-core'; import { IDockviewTabGroupChipProps } from './reactTabGroupChipPart'; import { IDockviewGroupDragGhostProps } from './reactGroupDragGhostPart'; export interface ReactContextMenuItemConfig extends Omit { component?: React.FunctionComponent; } export interface IDockviewReactProps extends DockviewOptions { tabComponents?: Record>; components: Record>; watermarkComponent?: React.FunctionComponent; defaultTabComponent?: React.FunctionComponent; rightHeaderActionsComponent?: React.FunctionComponent; leftHeaderActionsComponent?: React.FunctionComponent; prefixHeaderActionsComponent?: React.FunctionComponent; getTabContextMenuItems?: (params: GetTabContextMenuItemsParams) => (BuiltInContextMenuItem | ReactContextMenuItemConfig)[]; getTabGroupChipContextMenuItems?: (params: GetTabGroupChipContextMenuItemsParams) => (BuiltInChipContextMenuItem | ReactContextMenuItemConfig)[]; tabGroupChipComponent?: React.FunctionComponent; /** * Component rendered as the drag ghost (the small floating chip) while * a group of panels is being dragged. If omitted, the default * `"Multiple Panels (N)"` ghost is used. * * Note: the ghost is captured by the browser at drag start, so the * component must render fast / synchronously enough to be visible * before the browser snapshots it. */ groupDragGhostComponent?: React.FunctionComponent; onReady: (event: DockviewReadyEvent) => void; onDidDrop?: (event: DockviewDidDropEvent) => void; onWillDrop?: (event: DockviewWillDropEvent) => void; } export declare const DockviewReact: React.ForwardRefExoticComponent>;