import type { CustomVisualization } from './types.js'; /** * Central widget registration and lookup. * Plugin-sourced entries take priority over legacy-sourced entries. * * @internal */ export declare class WidgetPluginRegistry { private readonly entries; /** * Register a widget component by type name. * Plugin-sourced entries take priority over legacy-sourced entries. * Within the same source, first-write-wins (no silent overwrites). */ register(widgetTypeName: string, component: CustomVisualization, source?: 'plugin' | 'legacy'): void; /** * Unregister a widget by type name and source. * Only removes the entry if it matches the given source. */ unregister(widgetTypeName: string, source: 'plugin' | 'legacy'): void; /** * Get a widget component by type name. * When `source` is provided, returns the component only if the entry matches that source. * When omitted, returns the component for any source (plugin takes priority over legacy). */ getComponent(widgetTypeName: string, source?: 'plugin' | 'legacy'): CustomVisualization | undefined; /** * Check if a widget is registered. * When `source` is provided, returns true only if an entry exists for that source. * When omitted, returns true for any registered entry. */ has(widgetTypeName: string, source?: 'plugin' | 'legacy'): boolean; }