import type { LoadingOptions } from './config'; /** * Tab configuration provided directly by a module. * Represents a tab that the module itself defines rather than resolving from config. * Discriminated by provided: true. * * @see ResolvedTab - Part of the resolved tab union type */ export interface ModuleProvidedTab { tabLabel: string; provided: true; url: ''; moduleId: ''; initialParams: object; } /** * Base information for a resolved tab. * Contains the URL, module ID, and initial parameters for the tab's content. * * @see TectonResolvedTab - Extends this with full tab configuration */ export interface TabInfo { url: string; moduleId: string; initialParams: Record; } /** * Fully resolved tab configuration from platform configuration. * Contains all information needed to render a tab including loading options, * domains, directives, and access control. */ export interface TectonResolvedTab extends TabInfo { tabLabel: string; provided: false; minHeight?: string; tabLabelOverride?: string; formPostAuth: boolean; loadingOptions?: LoadingOptions; additionalDomains?: string[]; allowDirectives?: string[]; requiredUserCapabilities?: string[]; rightsEnabled?: boolean; } /** * Union type representing all possible tab configurations. * Discriminated by the 'provided' property to distinguish source. */ export type ResolvedTab = TectonResolvedTab | ModuleProvidedTab; //# sourceMappingURL=tabs.d.ts.map