/** * @jorvel/runtime — React routing components & hooks * * Provides: * useRouter() — access the singleton Router instance * usePathname() — reactive current pathname string * NavLink — navigation link with active highlighting * RemoteOutlet — renders the matched federated remote for the current pathname */ import React from 'react'; import { type Router, type RouterOptions } from './router.js'; import { type RouteTarget } from './routes.js'; import type { FederationRemote } from './remote-loader.js'; export declare function getRouter(opts?: RouterOptions): Router; /** @internal */ export declare function _resetRouter(): void; export declare function useRouter(): Router; export declare function usePathname(): string; export type NavLinkProps = { to: string; label: string; currentPath?: string; className?: string; style?: React.CSSProperties; activeStyle?: React.CSSProperties; children?: React.ReactNode; prefetch?: boolean | NavLinkPrefetchConfig; }; export interface NavLinkPrefetchConfig { routes: RouteTarget[]; remotes: Record; } export declare function NavLinkPrefetchProvider({ config, children, }: { config: NavLinkPrefetchConfig; children: React.ReactNode; }): import("react/jsx-runtime").JSX.Element; export declare function NavLink({ to, label, currentPath: currentPathProp, className, style, activeStyle, children, prefetch, }: NavLinkProps): import("react/jsx-runtime").JSX.Element; export type RemoteOutletProps = { routes: RouteTarget[]; remotes: Record Promise<{ default: React.ComponentType<{ subpath?: string; }>; }>>; fallback?: React.ReactNode; noMatch?: React.ReactNode; /** LRU max size for the remote-component cache. Default 32. */ cacheMax?: number; }; export declare function RemoteOutlet({ routes, remotes, fallback, noMatch, cacheMax, }: RemoteOutletProps): import("react/jsx-runtime").JSX.Element; export type RemoteAppProps = { subpath?: string; pages: Array<{ path: string; load: () => Promise<{ default: React.ComponentType<{ params?: Record; }>; }>; }>; fallback?: React.ReactNode; noMatch?: React.ReactNode; }; export declare function RemoteApp({ subpath, pages, fallback, noMatch }: RemoteAppProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=routing.d.ts.map