import { type PluginModuleMap, type WidgetPlugin, type WidgetMiddlewarePlugin } from '@deephaven/plugin'; /** * Information about a widget type including its base plugin and any middleware. */ export interface WidgetTypeInfo { /** The base plugin that handles this widget type, or null if only middleware registered so far */ basePlugin: WidgetPlugin | null; /** Middleware plugins to apply, in order from outermost to innermost */ middleware: WidgetMiddlewarePlugin[]; } /** * Widget type info that is guaranteed to have a base plugin. */ export type ValidWidgetTypeInfo = WidgetTypeInfo & { basePlugin: WidgetPlugin; }; /** * Build a map of widget types to their plugin chain info. * For each type, we have a base plugin and a list of middleware to apply. * * Types that only have middleware registered (no base plugin) are omitted. * * @param plugins Map of all registered plugin modules * @returns Map of widget type to the base plugin and middleware for that type */ export declare function getSupportedWidgetTypes(plugins: PluginModuleMap): Map; /** * Get the unique base plugins from a supported types map, merging the middleware * from each type a given base plugin handles. * * @param supportedTypes Map of widget type to base plugin and middleware * @returns Map of base plugin name to the base plugin and its merged middleware */ export declare function getUniqueWidgetPluginInfos(supportedTypes: Map): Map; //# sourceMappingURL=WidgetLoaderUtils.d.ts.map