import { UserPersona } from "@/app/persona/PersonaTypes"; import { NavigationActionType, type SectionedNavigationConfig } from "@component-stores/NavigationStore"; import { Router } from "@uuip/unified-ui-platform"; export declare const LandingScreenType: { readonly NAV_NONE: "none"; readonly NAV_AGENT_PERFORMANCE: "agent-performance"; readonly NAV_APS: "aps"; readonly NAV_CONFIGURATIONS_MANAGER: "configurations-manager"; readonly NAV_HOME: "home"; readonly NAV_INTERACTIONS: "interactions"; readonly NAV_METRICS: "metrics"; readonly NAV_QUEUES: "queues"; readonly NAV_SCHEDULING: "scheduling"; readonly NAV_SCHEDULING_SCHEDULES: "scheduling:schedules"; readonly NAV_SCHEDULING_WFM_CONFIGURATION: "scheduling:wfm-configuration"; readonly NAV_SCHEDULING_SHIFT_TEMPLATES: "scheduling:shift-templates"; readonly NAV_SCHEDULING_ACTIVITIES: "scheduling:activities"; readonly NAV_SCHEDULING_RULES: "scheduling:rules"; readonly NAV_TASK: "task"; readonly NAV_TOPIC_ANALYTICS_ANALYTICS: "topic-analytics:analytics"; readonly NAV_TOPIC_ANALYTICS_ANALYTICS_MANAGE: "topic-analytics:analytics-manage"; readonly NAV_TOPIC_ANALYTICS_CONFIGURE: "topic-analytics:configure"; readonly NAV_TPW: "tpw"; }; export type LandingScreenType = (typeof LandingScreenType)[keyof typeof LandingScreenType]; export declare function toLandingScreenType(value: string | undefined | null): LandingScreenType; export type LandingScreenOption = { label: string; route: LandingScreenType; }; export type LandingTarget = { routeName: string; routeParams?: Record; }; /** Resolve a LandingScreenType to its LandingTarget using the explicit mapping table. */ export declare function getLandingTarget(type: LandingScreenType): LandingTarget | null; /** * Reverse-map a navigation config entry (navigateTo + optional routeParams) to a LandingScreenType. * Tries the composite "route:paramValue" form first, then falls back to the bare route. * Returns NAV_NONE if neither matches the enum. */ export declare function toLandingScreenTypeFromNav(navigateTo: string, routeParams?: Record): LandingScreenType; export type LandingCandidateEvaluation = { source: "userPreference" | "fallback"; fallbackSource?: "layoutDefault" | "personaDefault" | "firstNavItem"; routeName?: string; routeParams?: Record; accessible: boolean; skippedReason?: "missing" | "duplicate"; }; export type DeterministicLandingResolutionDetails = { candidates: LandingCandidateEvaluation[]; resolvedTarget?: LandingTarget; }; export declare function isRouteAction(actionType?: NavigationActionType): boolean; export declare function getFirstAdminNavTarget(navConfig: SectionedNavigationConfig | undefined, currentRouteName: string | null | undefined): LandingTarget | undefined; export declare function getPersonaDefaultLandingTarget(persona: UserPersona): LandingTarget; export declare function getFirstSelectableNavTarget(): LandingTarget | undefined; export declare function isLandingTargetAllowedByNavigation(target: LandingTarget, routes: Router.RouteConfig[]): boolean; export declare function getDeterministicLandingResolutionDetails(routes: Router.RouteConfig[], persona: UserPersona, layoutDefaultLandingPage?: string): DeterministicLandingResolutionDetails; /** Build the list of landing screen options available to the current user based on navigation config. */ export declare function getLandingScreenOptions(): LandingScreenOption[]; //# sourceMappingURL=LandingScreenUtils.d.ts.map