import type { ComponentUI, ComponentModel } from '@teambit/component'; import type { ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree'; import type { SlotRegistry } from '@teambit/harmony'; import type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router'; import type { MenuWidgetSlot, MenuWidget } from '@teambit/ui-foundation.ui.menu'; import type { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar'; import type { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown'; import type { UIRootUI as UIRoot, UiUI } from '@teambit/ui'; import type { GraphUI } from '@teambit/graph'; import type { ReactNode } from 'react'; import React from 'react'; import type { RouteProps } from 'react-router-dom'; import type { CommandBarUI } from '@teambit/command-bar'; import type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer'; import type { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context'; import type { DrawerWidgetSlot, ComponentFiltersSlot } from '@teambit/component.ui.component-drawer'; export type SidebarWidgetSlot = SlotRegistry; export declare class WorkspaceUI { /** * route slot. */ private routeSlot; /** * component ui extension. */ private componentUi; /** * menu slot */ private menuSlot; private menuItemSlot; private sidebar; private sidebarSlot; /** * sidebar link slot */ private sidebarItemSlot; private drawerWidgetSlot; private drawerComponentsFiltersSlot; private commandBarUI; private menuWidgetSlot; constructor( /** * route slot. */ routeSlot: RouteSlot, /** * component ui extension. */ componentUi: ComponentUI, /** * menu slot */ menuSlot: RouteSlot, menuItemSlot: MenuItemSlot, sidebar: SidebarUI, sidebarSlot: SidebarWidgetSlot, /** * sidebar link slot */ sidebarItemSlot: SidebarItemSlot, drawerWidgetSlot: DrawerWidgetSlot, drawerComponentsFiltersSlot: ComponentFiltersSlot, commandBarUI: CommandBarUI, menuWidgetSlot: MenuWidgetSlot); private setKeyBindHandler; /** * register a route to the workspace. */ registerRoutes(routes: RouteProps[]): this; registerDrawers(...drawers: DrawerType[]): this; registerSidebarWidget(componentTreeNode: ComponentTreeNode): this; registerMenuItem: (menuItems: MenuItem[]) => void; registerMenuWidget: (menuWidgets: MenuWidget[]) => void; registerMenuRoutes: (routes: RouteProps[]) => this; setComponents: (components: ComponentModel[]) => void; registerSidebarLink: (...links: SidebarItem[]) => void; /** * register component filters */ registerDrawerComponentFilters: (filters: ComponentFilters) => void; registerDrawerWidgets: (widgets: ReactNode[]) => void; uiRoot(): UIRoot; listSidebarItems(): (React.ComponentClass<{}, any> | React.FunctionComponent<{}>)[]; private menuItems; static dependencies: import("@teambit/harmony").Aspect[]; static runtime: import("@teambit/harmony").RuntimeDefinition; static slots: (((registerFn: () => string) => SlotRegistry) | ((registerFn: () => string) => SlotRegistry) | ((registerFn: () => string) => SlotRegistry))[]; static provider([ui, componentUi, sidebar, componentTree, commandBarUI, graphUI]: [ UiUI, ComponentUI, SidebarUI, ComponentTreeUI, CommandBarUI, GraphUI ], config: any, [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot, menuWidgetSlot,]: [ RouteSlot, RouteSlot, MenuItemSlot, SidebarWidgetSlot, SidebarItemSlot, DrawerWidgetSlot, ComponentFiltersSlot, MenuWidgetSlot ]): Promise; } export default WorkspaceUI;