import type { ModuleConfig, ResolvedMenuItem } from './config'; import type { ResolvedTab } from 'q2-tecton-common/lib/types/tabs'; import type { LoadingOptions } from 'q2-tecton-common/lib/types/config'; /** * Request body for the resolveFeature message handler. * Contains the outlet path and optional context for feature resolution. * * @see resolveFeature.ts - Used as parameter type for feature resolution */ export interface ResolveFeatureRequestBody { outletPath: string; contextValue?: string; resolvedType?: string; additionalContext?: string; } /** * Response body from the resolveFeature message handler. * Contains all information needed to render a resolved feature in an iframe. * * @see resolveFeature.ts - Return type for feature resolution */ export interface ResolveFeatureResponseBody { moduleId: string; featureName: string; initialParams: Record; url: string; minHeight: string; tabLabelOverride?: string; formPostAuth: boolean; loadingOptions?: LoadingOptions; additionalDomains?: string[]; allowDirectives?: string[]; requiredUserCapabilities?: string[]; rightsEnabled?: boolean; } /** * Message body sent via PostMessage to the platform for feature resolution. * Used for cross-frame communication during outlet content resolution. * * @see resolveFeature.ts - Used in PostMessage communication */ export interface MessageBody { outletPath: string; contextValue?: string; resolvedType?: string; additionalContext?: string; } /** * Request body for the resolveTabs message handler. * Contains the outlet path and context for resolving tab configurations. * * @see resolveTabs.ts - Used as parameter type for tab resolution */ export interface ResolveTabsRequestBody { outletPath: string; contextValue?: string; resolvedType?: string; additionalContext?: string; } /** * Response body from the resolveTabs message handler. * Contains the array of resolved tabs for a tabbed outlet. * * @see resolveTabs.ts - Return type for tab resolution */ export interface ResolveTabsResponseBody { resolvedTabs: ResolvedTab[]; } /** * Request body for the resolveMenu message handler. * Contains the outlet path and context for resolving menu item configurations. * * @see resolveMenu.ts - Used as parameter type for menu resolution */ export interface ResolveMenuRequestBody { outletPath: string; contextValue?: string; resolvedType?: string; additionalContext?: string; } /** * Response body from the resolveMenu message handler. * Contains the array of resolved menu items for a menu outlet. * * @see resolveMenu.ts - Return type for menu resolution */ export interface ResolveMenuResponseBody { resolvedMenuItems: ResolvedMenuItem[]; } /** * Origin of the path being resolved, indicating how the resolution was initiated. * Used to determine resolution behavior and routing logic. * * @see getPathResolutionInfo.ts - Used in path resolution logic */ export type PathOrigin = 'platform' | 'tectonRoute' | 'tectonOverpanel'; /** * Path resolution info for module paths. * Returned when the resolution path ends at a module definition. * Discriminated by pathType: 'module'. * * @see getPathResolutionInfo.ts - Return type for module path resolution */ export interface ModulePathResolutionInfo { pathType: 'module'; treeFromRoot: ModuleConfig; featureName: string; moduleName: string; configPath: string[]; pathOrigin: PathOrigin; } /** * Path resolution info for outlet paths. * Returned when the resolution path ends at an outlet definition. * Discriminated by pathType: 'outlet'. * * @see getPathResolutionInfo.ts - Return type for outlet path resolution */ export interface OutletPathResolutionInfo { pathType: 'outlet'; treeFromRoot: ModuleConfig; featureName: string; moduleName: string; outletName: string; configPath: string[]; pathOrigin: PathOrigin; } /** * Union type for path resolution info results. * Discriminated by the pathType field ('module' or 'outlet'). * * @see getPathResolutionInfo.ts - Return type for path resolution */ export type PathResolutionInfo = OutletPathResolutionInfo | ModulePathResolutionInfo; /** * Arguments for generating a Tecton config path from a module ID. * Used internally during path resolution to build configuration lookups. * * @see generateTectonConfigPath.ts - Used in config path generation */ export interface GenerateTectonConfigPathArgs { path: string[]; outletModuloVal: number; } /** * Tecton context information for outlet validation and context matching. * Contains context values and requirements for validating outlet compatibility. * * @see contextResolver.ts - Used in context validation logic */ export interface TectonContextInfo { additionalContext?: string | number; additionalContextRequirements?: string[]; contextValue?: string | number; moduleContext: string; outletContext: string; resolvedContext?: string; } /** * Recursive hierarchy node structure for context resolution. * Represents a tree of context types used in hierarchical context matching. * * @see contextResolver.ts - Used in context hierarchy traversal */ export type HierarchyNode = { [key: string]: HierarchyNode; }; //# sourceMappingURL=resolvers.d.ts.map