/**
 * Signal-Σ Router - Category Theory Based Isomorphic Router
 *
 * A mathematically sound router built on categorical principles:
 * - Route as Functor (structure preservation)
 * - Navigation as Monad (effect composition)
 * - Router as Coalgebra (isomorphic transformation)
 *
 * Features:
 * - Type-safe route matching
 * - Framework-agnostic (React, Svelte, Vue, SolidJS)
 * - Isomorphic (works client/server)
 * - Composable route combinators
 * - Algebraic route construction
 * - Built-in route guards
 * - Zero dependencies on router libraries
 */
export type { Route, Navigation, Router, RouterSignal, RouteTree, RouteMatch, RouteGuard, NavigationEnv, Option, ParsePath, PrefetchStrategy } from './types';
export { Some, None, isSome, isNone } from './types';
export { literal, param, query, wildcard, route, sequence as routeSequence, choice, optional, nested, matchRoute } from './route';
export { navigation, pureNavigation, createBrowserNav, createNodeNav, createMemoryNav, createNavigationEffects } from './navigation';
export { createRouter, createRouterSignal, router, treeRouter, matchRouteTree, createTreeRouter } from './router';
export { withGuard, withGuards, authGuard, roleGuard, confirmGuard, executeGuards, createGuardedNavigation, composeGuards, conditionalGuard } from './guards';
export { useReactRouter, useReactTreeRouter, } from './adapter.react';
export { signal } from '../core/signal';
export { effect } from '../core/effect';
/**
 * Quick Start Examples:
 *
 * Basic Usage:
 * ```ts
 * import { router, route } from 'signal-σ/router';
 *
 * const routes = [
 *   route("/"),
 *   route("/user/:id"),
 *   route("/posts/:id/comments/:commentId")
 * ];
 *
 * const app = router(routes);
 *
 * // Access current route
 * const currentRoute = app.route();
 * const params = app.params();
 *
 * // Navigate
 * app.navigate("/user/123");
 * ```
 *
 * Framework Integration:
 * ```ts
 * // React
 * const router = useReactRouter(routes);
 *
 * // Svelte
 * const router = useSvelteRouter(routes);
 *
 * // Vue
 * const router = useVueRouter(routes);
 * ```
 *
 * Type-Safe Routes:
 * ```ts
 * const userRoute = route("/user/:id");
 * // userRoute.params has type {id: string}
 *
 * const mapped = userRoute.map(({id}) => ({
 *   userId: id,
 *   user: fetchUser(id)
 * }));
 * ```
 *
 * Composable Routes:
 * ```ts
 * const api = route("/api");
 * const users = route("/users/:id");
 * const apiUsers = sequence(api, users);
 * // Matches: /api/users/:id
 *
 * const routes = choice([
 *   route("/home"),
 *   route("/about"),
 *   wildcard("*") // 404 fallback
 * ]);
 * ```
 *
 * Route Guards:
 * ```ts
 * const adminRoute = withGuard(
 *   route("/admin/:page"),
 *   authGuard(() => checkAuth())
 * );
 * ```
 */ 
