import type { GraphqlUI } from '@teambit/graphql'; import type { SlotRegistry } from '@teambit/harmony'; import type { ReactRouterUI } from '@teambit/react-router'; import type { SsrSession, RenderPlugin, ContextProps } from '@teambit/react.rendering.ssr'; import type { ReactNode, ComponentType } from 'react'; import type { UIRootFactory } from './ui-root.ui'; type HudSlot = SlotRegistry; type RenderPluginsSlot = SlotRegistry>; type UIRootRegistry = SlotRegistry; /** * extension */ export declare class UiUI { /** * react-router extension. */ private router; /** * ui root registry. */ private uiRootSlot; /** slot for overlay ui elements */ private hudSlot; /** hooks into the ssr render process */ private renderPluginsSlot; constructor( /** * react-router extension. */ router: ReactRouterUI, /** * ui root registry. */ uiRootSlot: UIRootRegistry, /** slot for overlay ui elements */ hudSlot: HudSlot, /** hooks into the ssr render process */ renderPluginsSlot: RenderPluginsSlot); /** render and rehydrate client-side */ render(rootExtension: string): Promise; /** render dehydrated server-side */ renderSsr(rootExtension: string, ssrContent: SsrSession): Promise; /** adds elements to the Heads Up Display */ registerHudItem: (element: ReactNode) => void; /** * adds global context at the ui root * @deprecated replace with `.registerRenderHooks({ reactContext })`. */ registerContext(context: ComponentType>): void; registerRoot(uiRoot: UIRootFactory): void; registerRenderHooks(plugin: RenderPlugin): void; private getLifecyclePlugins; private getRoot; static slots: (((registerFn: () => string) => SlotRegistry) | ((registerFn: () => string) => SlotRegistry) | ((registerFn: () => string) => SlotRegistry>))[]; static dependencies: import("@teambit/harmony").Aspect[]; static runtime: import("@teambit/harmony").RuntimeDefinition; static provider([GraphqlUi, router]: [GraphqlUI, ReactRouterUI], config: any, [uiRootSlot, hudSlot, renderLifecycleSlot]: [UIRootRegistry, HudSlot, RenderPluginsSlot]): Promise; } export {};