/** * UI Plugin Architecture — public API. * * This module provides the core infrastructure for building extensible * frontend applications with a VSCode/Backstage-inspired plugin system. * * @module @burdenoff/fe-libs/shared/plugins * * @example * ```tsx * // In an app shell: * import { PluginRuntimeProvider, type UIPlugin } from '@burdenoff/fe-libs/shared/plugins'; * * // In a plugin/MFE: * import type { UIPlugin, PluginContext } from '@burdenoff/fe-libs/shared/plugins'; * * export const myPlugin: UIPlugin = { * manifest: { id: 'my-plugin', name: 'My Plugin', version: '1.0.0' }, * activate(ctx) { * ctx.nav.register({ id: 'mp', pluginId: 'my-plugin', label: 'My Plugin', path: '/my-plugin' }); * }, * }; * ``` */ export type { UIPlugin, UIPluginManifest, PluginContributions, PluginContext, ActivationEvent, ExtensionPointDeclaration, ContributionBase, NavContribution, FooterContribution, CommandContribution, RouteContribution, PanelContribution, PanelProps, StatusBarContribution, SettingsContribution, WidgetContribution, ToolbarContribution, ContextMenuContribution, ContextMenuItem, RegistryAPI, PluginStatus, ToastType, } from './types'; export { DisposableCollection, type Disposable } from './disposable'; export { EventBus, usePluginEvent, type CoreEventMap, type VibeControlsEventMap, type EventMiddleware, } from './event-bus'; export { PluginRuntime, type PluginRuntimeConfig } from './runtime'; export { createPluginContext, type ShellServices, type RegistryRefs, type PluginActiveContext, type PluginAuthSnapshot, } from './context'; export { PluginRuntimeProvider, usePluginRuntime, type PluginRuntimeProviderProps, type PluginRuntimeObservedState, } from './PluginRuntimeProvider'; export { createContributionRegistry, type RegistryItem, type ContributionRegistryStore, } from './registries/createContributionRegistry'; export { useCommandRegistryStore } from './registries/useCommandRegistry'; export { useRouteRegistryStore } from './registries/useRouteRegistry'; export { usePanelRegistryStore } from './registries/usePanelRegistry'; export { useStatusBarRegistryStore } from './registries/useStatusBarRegistry'; export { useSettingsRegistryStore } from './registries/useSettingsRegistry'; export { useWidgetRegistryStore } from './registries/useWidgetRegistry'; export { useToolbarRegistryStore } from './registries/useToolbarRegistry'; export { useContextMenuRegistryStore } from './registries/useContextMenuRegistry'; export * from './iframe-mount'; //# sourceMappingURL=index.d.ts.map