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 { TectonRuntimeConfig, TabLookup } from '../../../types/config'; import type { ResolvedTab } from 'q2-tecton-common/lib/types/tabs'; import type { HierarchyNode } from '../../../types'; /** * Sets up the `resolveTabs` message handler for tab resolution. * Resolves tab configurations based on outlet path, context, and type matching. * * @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 setupResolveTabs(platformControlBus: TectonPlatformControls, messageBus: MessageBus, tectonConfig$: BehaviorSubject, params$: BehaviorSubject, teardowns: (() => void)[], contextHierarchy: HierarchyNode): void; /** * Resolves tabs from tab 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 tabLookups - Array of tab 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 * @param additionalDomains - Optional additional domains for iframes * @param allowDirectives - Optional CSP allow directives * @returns Promise resolving to array of resolved tabs */ export declare function resolveTabs(platformControlBus: TectonPlatformControls, params$: BehaviorSubject, outletPath: string, baseContextM: Maybe, contextValueIdM: Maybe, providedTypeM: Maybe, additionalContextM: Maybe, tabLookups: TabLookup[], tectonConfig: TectonRuntimeConfig, hostFeatureName: string, hostModuleName: string, contextHierarchy: HierarchyNode, additionalDomains?: string[], allowDirectives?: string[]): Promise; //# sourceMappingURL=resolveTabs.d.ts.map