import { BehaviorSubject } from 'rxjs'; import type { TectonOutletAdaptorResponse } from 'q2-tecton-common/lib/types/outlet'; import type { TectonRuntimeConfig, ModuleFeatureManifest, FeatureManifest } from '../../types/config'; import type { TectonMessageBus } from 'q2-tecton-common/lib/types/message-bus'; import type { TectonPlatformControls, ParamsChanged } from '../../types/setup'; import type { HierarchyNode } from '../../types'; import type { PlatformOutletElement } from 'q2-tecton-common/lib/types/outlet'; /** * Determines if an outlet should be displayed based on rights, context validation, * and authentication requirements. * * @param module - The module manifest containing rights and context requirements * @param feature - The feature manifest containing MFA and feature-level settings * @param memorizedProps - Memoized properties from the outlet element * @param contextHierarchy - Hierarchy of context nodes for validation * @returns True if the outlet should be displayed, false otherwise */ export declare function shouldDisplayOutlet(module: ModuleFeatureManifest, feature: FeatureManifest, memorizedProps: Record, contextHierarchy: HierarchyNode): boolean; /** * Builds the iframe source URL with all necessary parameters. * Appends Tecton context parameters, module params, and styling information to the URL. * * @param urlFromConfig - The base URL from the module configuration * @param moduleId - The unique identifier for the module instance * @param memorizedProps - Memoized properties containing context values * @param platformOutletElement - The platform outlet custom element * @param params - Current parameter state with changed and current params * @param formPostAuth - Whether to use form POST authentication * @param platformControlBus - Platform control bus with URL building handlers * @returns The fully constructed iframe source URL with all parameters */ export declare function buildIframeSrc(urlFromConfig: string, moduleId: string, memorizedProps: Record, platformOutletElement: PlatformOutletElement, params: ParamsChanged, formPostAuth: boolean, platformControlBus: TectonPlatformControls): string; /** * Creates a loading wrapper element with loaders based on module configuration. * Configures loader type, styling, and minimum height for the loading state. * * @param module - The module manifest containing loading options configuration * @param minHeight - Optional minimum height for the loading wrapper * @returns The configured loading wrapper HTMLElement with loader children */ export declare function createLoadingWrapper(module: ModuleFeatureManifest, minHeight?: string): HTMLElement; export declare const tectonPlatformOutletObservedAttrs: ({ name: string; reflectAs: StringConstructor; } | { name: string; reflectAs?: undefined; })[]; /** * Creates a factory function for loading Tecton platform outlets. * The returned adaptor function handles iframe setup, loading states, resizing, and teardown. * * @param tectonConfig$ - Observable emitting the runtime configuration * @param params$ - Observable emitting parameter changes * @param platformControlBus - Platform control bus with handler implementations * @param contextHierarchy - Hierarchy of context nodes for validation * @returns Adaptor function that creates outlet instances with DOM, settled state, and teardown observables */ export declare function loadTectonPlatformOutlet(tectonConfig$: BehaviorSubject, params$: BehaviorSubject, platformControlBus: TectonPlatformControls, contextHierarchy: HierarchyNode): (messageBus: TectonMessageBus, outletPath: string, platformOutletElement: PlatformOutletElement, memorizedProps$: BehaviorSubject>) => TectonOutletAdaptorResponse; //# sourceMappingURL=platformOutlet.d.ts.map