/** * @file Advanced Routing Module Exports * @description Unified exports for advanced routing patterns including parallel routes, * intercepting routes, route groups, catch-all routes, optional segments, and middleware. * * @module @/lib/routing/advanced * * This module provides enterprise-grade routing patterns inspired by: * - Next.js App Router (parallel routes, intercepting routes, route groups) * - Remix (nested routing, middleware) * - Angular (route guards, resolvers) * - TanStack Router (type-safe patterns) * * @example * ```typescript * import { * ParallelRoutes, * InterceptingRouteManager, * RouteGroupManager, * CatchAllRoute, * OptionalSegmentRouteBuilder, * MiddlewareChain, * } from '@/lib/routing/advanced'; * ``` */ export { ParallelRoutes, createParallelRoutes, createSlot, isSlotSegment, extractSlotName, createSlotPath, mergeSlotStates, sortSlotsByPriority, isParallelRouteSlot, isSlotMatch, SLOT_PREFIX, DEFAULT_SLOT_NAME, type ParallelRouteSlot, type ParallelRoutesConfig, type SlotRenderState, type ParallelRoutesContext, type SlotMatch, type ParallelRouteResolution, } from './parallel-routes'; export { InterceptionLevel, InterceptingRouteManager, createInterceptingRoute, createInterceptionContext, getInterceptionManager, resetInterceptionManager, parseInterceptionLevel, getInterceptionNotation, hasInterceptionMarker, extractInterceptionFromPattern, buildInterceptedPath, isInterceptionContext, isInterceptionLevel, type InterceptingRouteConfig, type InterceptedRouteProps, type InterceptionContext, type NavigationTrigger, type InterceptionResolution, type RegisteredInterceptor, type InterceptionManagerState, } from './intercepting-routes'; export { RouteGroupManager, createRouteGroup, createGroupedRoute, getRouteGroupManager, resetRouteGroupManager, isGroupSegment, extractGroupName, createGroupSegment, extractGroupsFromPath, stripGroupsFromPath, isRouteGroup, isGroupedRoute, type RouteGroupConfig, type RouteGroupGuard, type RouteGroupMiddleware, type RouteGroupContext, type RouteGroupUser, type RouteGroupMeta, type RouteGroupSEO, type RouteGroup, type GroupedRoute, type GroupResolution, } from './route-groups'; export { CatchAllRoute, CatchAllRouteManager, createCatchAllRoute, createDocsCatchAll, createBlogCatchAll, getCatchAllManager, resetCatchAllManager, isCatchAllPattern, extractBasePath, isOptionalCatchAll, normalizeSegments, joinSegments, splitPath, isCatchAllRouteProps, isCatchAllMatch, type CatchAllRouteConfig, type CatchAllRouteProps, type CatchAllRouteMeta, type CatchAllMatch, type CatchAllError, type RegisteredCatchAllRoute, type CatchAllPattern, } from './catch-all-routes'; export { OptionalSegment, OptionalSegmentRouteBuilder, OptionalSegmentManager, createOptionalSegment, createOptionalRoute, createPaginationSegment, createCategorySegment, createSortSegment, getOptionalSegmentManager, resetOptionalSegmentManager, hasOptionalSegments, extractOptionalSegmentNames, normalizeOptionalPattern, buildAllPossiblePaths, isOptionalSegmentResolution, isOptionalRouteMatch, type OptionalSegmentConfig, type OptionalSegmentResolution, type OptionalSegmentRoute, type OptionalRouteMatch, type OptionalRouteBuilderConfig, } from './optional-segments'; export { MiddlewareChain, createMiddleware, createMiddlewareChain, createMiddlewareContext, createLoggingMiddleware, createAuthMiddleware, createRoleMiddleware, createRateLimitMiddleware, createAnalyticsMiddleware, getMiddlewareChain, resetMiddlewareChain, compose, parallel, conditional, isMiddlewareContext, isChainExecutionResult, type MiddlewareFunction, type NextFunction, type MiddlewareContext, type MiddlewareUser, type MiddlewareResponse, type MiddlewareConfig, type RegisteredMiddleware, type ChainExecutionResult, type ChainExecutionOptions, } from './route-middleware';