import MessageBus from '../../../utility/message-bus/messageBus'; import { Maybe } from 'maybe-not'; import { BehaviorSubject } from 'rxjs'; import type { TectonPlatformControls, ParamsChanged } from '../../../types/setup'; import type { MenuLookup, ResolvedMenuItem, TectonRuntimeConfig } from '../../../types/config'; import type { HierarchyNode } from '../../../types'; /** * Sets up the `resolveMenu` message handler for contextual menu resolution. * Resolves menu items based on outlet configuration, context, and user permissions. * * @param platformControlBus - Platform control bus with handler implementations * @param messageBus - The platform message bus for feature communication * @param tectonConfig$ - Observable containing the Tecton runtime configuration * @param params$ - Observable of parameter changes * @param teardowns - Array to collect cleanup functions for unsubscribing * @param contextHierarchy - Hierarchy of context nodes for validation * * @internal */ export default function setupResolveMenu(platformControlBus: TectonPlatformControls, messageBus: MessageBus, tectonConfig$: BehaviorSubject, params$: BehaviorSubject, teardowns: (() => void)[], contextHierarchy: HierarchyNode): void; /** * Resolves menu items from menu lookups based on context and type matching. * * @param platformControlBus - Platform control bus with handler implementations * @param params$ - Observable of parameter changes * @param outletPath - The outlet path being resolved * @param baseContextM - Maybe containing the base context type * @param contextValueIdM - Maybe containing the context value ID * @param providedTypeM - Maybe containing the provided type * @param additionalContextM - Maybe containing additional context * @param menuLookups - Array of menu lookups to resolve * @param tectonConfig - The current Tecton runtime configuration * @param hostFeatureName - Name of the host feature * @param hostModuleName - Name of the host module * @param contextHierarchy - Hierarchy of context nodes for validation * @returns Promise resolving to array of resolved menu items */ export declare function resolveMenuItems(platformControlBus: TectonPlatformControls, params$: BehaviorSubject, outletPath: string, baseContextM: Maybe, contextValueIdM: Maybe, providedTypeM: Maybe, additionalContextM: Maybe, menuLookups: MenuLookup[], tectonConfig: TectonRuntimeConfig, hostFeatureName: string, hostModuleName: string, contextHierarchy: HierarchyNode): Promise; //# sourceMappingURL=resolveMenu.d.ts.map