/**
 * Route configuration entry derived from the navigation menu API.
 * Each entry represents a resolvable route with its component and metadata.
 */
export interface RouteConfigEntry {
    /** Hierarchical component key (e.g., "administration.users") */
    componentKey: string;
    /** Permission path for authorization (same as componentKey) */
    permissionPath: string;
    /** URL route path from DB (e.g., "/administration/users") */
    route: string;
    /** Whether the component is registered in PageRegistry */
    hasComponent: boolean;
    /** License feature required (null = always available) */
    requiredFeature: string | null;
    /** Whether this app is always accessible (no permission check) */
    isOpen: boolean;
    /** Navigation level: application, module, section, resource */
    level: 'application' | 'module' | 'section' | 'resource';
    /** Application code (for grouping) */
    applicationCode: string;
}
/**
 * Flattened route configuration built from the enriched menu API response.
 */
export interface RouteConfig {
    /** All route entries flattened from the navigation hierarchy */
    entries: RouteConfigEntry[];
    /** Map of componentKey → RouteConfigEntry for O(1) lookup */
    byKey: Map<string, RouteConfigEntry>;
    /** Whether the route config is still loading */
    isLoading: boolean;
    /** Grouped by application code */
    byApplication: Map<string, RouteConfigEntry[]>;
}
/**
 * Hook that transforms the enriched menu API response into a flat route configuration.
 *
 * The route config is derived from NavigationContext (which already handles
 * fetching, caching, and tenant-based invalidation). No separate API call needed.
 *
 * @returns RouteConfig with all navigation-driven routes and their metadata
 */
export declare function useRouteConfig(): RouteConfig;
//# sourceMappingURL=useRouteConfig.d.ts.map