react-router 7.8.1 → 7.8.2-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/development/{chunk-IFMMFE4R.mjs → chunk-7QFLQWWN.mjs} +34 -75
  3. package/dist/{production/chunk-YMYXECPK.js → development/chunk-IVOVRAK2.js} +210 -169
  4. package/dist/development/{chunk-UH6JLGW7.mjs → chunk-ZVD2KUIM.mjs} +187 -204
  5. package/dist/development/{chunk-TGXCWGPT.js → chunk-ZVMYUFGA.js} +125 -183
  6. package/dist/development/{context-DohQKLID.d.mts → context-jKip1TFB.d.mts} +846 -8
  7. package/dist/development/dom-export.d.mts +20 -2
  8. package/dist/development/dom-export.d.ts +20 -1
  9. package/dist/development/dom-export.js +10 -4
  10. package/dist/development/dom-export.mjs +10 -4
  11. package/dist/{production/index-react-server-client-BQ6FxdA_.d.ts → development/index-react-server-client-BKpa2trA.d.ts} +6 -816
  12. package/dist/{production/index-react-server-client-11fLy3qB.d.mts → development/index-react-server-client-DRhjXpk2.d.mts} +2 -3
  13. package/dist/development/index-react-server-client.d.mts +3 -4
  14. package/dist/development/index-react-server-client.d.ts +2 -2
  15. package/dist/development/index-react-server-client.js +4 -4
  16. package/dist/development/index-react-server-client.mjs +2 -2
  17. package/dist/development/index-react-server.d.mts +4 -3
  18. package/dist/development/index-react-server.d.ts +4 -3
  19. package/dist/development/index-react-server.js +62 -53
  20. package/dist/development/index-react-server.mjs +62 -53
  21. package/dist/development/index.d.mts +7 -9
  22. package/dist/development/index.d.ts +5 -5
  23. package/dist/development/index.js +122 -163
  24. package/dist/development/index.mjs +3 -3
  25. package/dist/development/lib/types/internal.d.mts +3 -3
  26. package/dist/development/lib/types/internal.d.ts +2 -2
  27. package/dist/development/lib/types/internal.js +1 -1
  28. package/dist/development/lib/types/internal.mjs +1 -1
  29. package/dist/development/{route-data-CNjObrhZ.d.mts → route-data-DAVP2QQ0.d.mts} +3 -3
  30. package/dist/development/{routeModules-C3oqzPpI.d.ts → routeModules-rOzWJJ9x.d.ts} +848 -10
  31. package/dist/production/{chunk-KHPQXKYM.js → chunk-5WPGWA23.js} +125 -183
  32. package/dist/{development/chunk-IIA3TUI2.js → production/chunk-IK7IYG3O.js} +210 -169
  33. package/dist/production/{chunk-5Y7ELDIJ.mjs → chunk-LR4OTIMG.mjs} +34 -75
  34. package/dist/production/{chunk-PFDCNQUK.mjs → chunk-VHBXOG2Z.mjs} +187 -204
  35. package/dist/production/{context-DohQKLID.d.mts → context-jKip1TFB.d.mts} +846 -8
  36. package/dist/production/dom-export.d.mts +20 -2
  37. package/dist/production/dom-export.d.ts +20 -1
  38. package/dist/production/dom-export.js +10 -4
  39. package/dist/production/dom-export.mjs +10 -4
  40. package/dist/{development/index-react-server-client-BQ6FxdA_.d.ts → production/index-react-server-client-BKpa2trA.d.ts} +6 -816
  41. package/dist/{development/index-react-server-client-11fLy3qB.d.mts → production/index-react-server-client-DRhjXpk2.d.mts} +2 -3
  42. package/dist/production/index-react-server-client.d.mts +3 -4
  43. package/dist/production/index-react-server-client.d.ts +2 -2
  44. package/dist/production/index-react-server-client.js +4 -4
  45. package/dist/production/index-react-server-client.mjs +2 -2
  46. package/dist/production/index-react-server.d.mts +4 -3
  47. package/dist/production/index-react-server.d.ts +4 -3
  48. package/dist/production/index-react-server.js +62 -53
  49. package/dist/production/index-react-server.mjs +62 -53
  50. package/dist/production/index.d.mts +7 -9
  51. package/dist/production/index.d.ts +5 -5
  52. package/dist/production/index.js +122 -163
  53. package/dist/production/index.mjs +3 -3
  54. package/dist/production/lib/types/internal.d.mts +3 -3
  55. package/dist/production/lib/types/internal.d.ts +2 -2
  56. package/dist/production/lib/types/internal.js +1 -1
  57. package/dist/production/lib/types/internal.mjs +1 -1
  58. package/dist/production/{route-data-CNjObrhZ.d.mts → route-data-DAVP2QQ0.d.mts} +3 -3
  59. package/dist/production/{routeModules-C3oqzPpI.d.ts → routeModules-rOzWJJ9x.d.ts} +848 -10
  60. package/package.json +1 -1
  61. package/dist/development/components-CuPfnyiZ.d.mts +0 -814
  62. package/dist/production/components-CuPfnyiZ.d.mts +0 -814
@@ -1037,7 +1037,7 @@ declare function isRouteErrorResponse(error: any): error is ErrorResponse;
1037
1037
  /**
1038
1038
  * A Router instance manages all navigation and data loading/mutations
1039
1039
  */
1040
- interface Router {
1040
+ interface Router$1 {
1041
1041
  /**
1042
1042
  * @private
1043
1043
  * PRIVATE - DO NOT USE
@@ -1081,7 +1081,7 @@ interface Router {
1081
1081
  * initial data fetches. Returns a function to cleanup listeners and abort
1082
1082
  * any in-progress loads
1083
1083
  */
1084
- initialize(): Router;
1084
+ initialize(): Router$1;
1085
1085
  /**
1086
1086
  * @private
1087
1087
  * PRIVATE - DO NOT USE
@@ -1299,7 +1299,6 @@ type HydrationState = Partial<Pick<RouterState, "loaderData" | "actionData" | "e
1299
1299
  * Future flags to toggle new feature behavior
1300
1300
  */
1301
1301
  interface FutureConfig {
1302
- unstable_middleware: boolean;
1303
1302
  }
1304
1303
  /**
1305
1304
  * Initialization options for createRouter
@@ -1321,7 +1320,7 @@ interface RouterInit {
1321
1320
  * State returned from a server-side query() call
1322
1321
  */
1323
1322
  interface StaticHandlerContext {
1324
- basename: Router["basename"];
1323
+ basename: Router$1["basename"];
1325
1324
  location: RouterState["location"];
1326
1325
  matches: RouterState["matches"];
1327
1326
  loaderData: RouterState["loaderData"];
@@ -1343,7 +1342,9 @@ interface StaticHandler {
1343
1342
  skipLoaderErrorBubbling?: boolean;
1344
1343
  skipRevalidation?: boolean;
1345
1344
  dataStrategy?: DataStrategyFunction<unknown>;
1346
- unstable_generateMiddlewareResponse?: (query: (r: Request) => Promise<StaticHandlerContext | Response>) => MaybePromise<Response>;
1345
+ unstable_generateMiddlewareResponse?: (query: (r: Request, args?: {
1346
+ filterMatchesToLoad?: (match: AgnosticDataRouteMatch) => boolean;
1347
+ }) => Promise<StaticHandlerContext | Response>) => MaybePromise<Response>;
1347
1348
  }): Promise<StaticHandlerContext | Response>;
1348
1349
  queryRoute(request: Request, opts?: {
1349
1350
  routeId?: string;
@@ -1576,13 +1577,849 @@ declare const IDLE_BLOCKER: BlockerUnblocked;
1576
1577
  /**
1577
1578
  * Create a router and listen to history POP navigations
1578
1579
  */
1579
- declare function createRouter(init: RouterInit): Router;
1580
+ declare function createRouter(init: RouterInit): Router$1;
1580
1581
  interface CreateStaticHandlerOptions {
1581
1582
  basename?: string;
1582
1583
  mapRouteProperties?: MapRoutePropertiesFunction;
1583
1584
  future?: {};
1584
1585
  }
1585
1586
 
1587
+ declare function mapRouteProperties(route: RouteObject): Partial<RouteObject> & {
1588
+ hasErrorBoundary: boolean;
1589
+ };
1590
+ declare const hydrationRouteProperties: (keyof RouteObject)[];
1591
+ /**
1592
+ * @category Data Routers
1593
+ */
1594
+ interface MemoryRouterOpts {
1595
+ /**
1596
+ * Basename path for the application.
1597
+ */
1598
+ basename?: string;
1599
+ /**
1600
+ * A function that returns an {@link unstable_RouterContextProvider} instance
1601
+ * which is provided as the `context` argument to client [`action`](../../start/data/route-object#action)s,
1602
+ * [`loader`](../../start/data/route-object#loader)s and [middleware](../../how-to/middleware).
1603
+ * This function is called to generate a fresh `context` instance on each
1604
+ * navigation or fetcher call.
1605
+ */
1606
+ unstable_getContext?: RouterInit["unstable_getContext"];
1607
+ /**
1608
+ * Future flags to enable for the router.
1609
+ */
1610
+ future?: Partial<FutureConfig>;
1611
+ /**
1612
+ * Hydration data to initialize the router with if you have already performed
1613
+ * data loading on the server.
1614
+ */
1615
+ hydrationData?: HydrationState;
1616
+ /**
1617
+ * Initial entries in the in-memory history stack
1618
+ */
1619
+ initialEntries?: InitialEntry[];
1620
+ /**
1621
+ * Index of `initialEntries` the application should initialize to
1622
+ */
1623
+ initialIndex?: number;
1624
+ /**
1625
+ * Override the default data strategy of loading in parallel.
1626
+ * Only intended for advanced usage.
1627
+ */
1628
+ dataStrategy?: DataStrategyFunction;
1629
+ /**
1630
+ * Lazily define portions of the route tree on navigations.
1631
+ */
1632
+ patchRoutesOnNavigation?: PatchRoutesOnNavigationFunction;
1633
+ }
1634
+ /**
1635
+ * Create a new {@link DataRouter} that manages the application path using an
1636
+ * in-memory [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)
1637
+ * stack. Useful for non-browser environments without a DOM API.
1638
+ *
1639
+ * @public
1640
+ * @category Data Routers
1641
+ * @mode data
1642
+ * @param routes Application routes
1643
+ * @param opts Options
1644
+ * @param {MemoryRouterOpts.basename} opts.basename n/a
1645
+ * @param {MemoryRouterOpts.dataStrategy} opts.dataStrategy n/a
1646
+ * @param {MemoryRouterOpts.future} opts.future n/a
1647
+ * @param {MemoryRouterOpts.unstable_getContext} opts.unstable_getContext n/a
1648
+ * @param {MemoryRouterOpts.hydrationData} opts.hydrationData n/a
1649
+ * @param {MemoryRouterOpts.initialEntries} opts.initialEntries n/a
1650
+ * @param {MemoryRouterOpts.initialIndex} opts.initialIndex n/a
1651
+ * @param {MemoryRouterOpts.patchRoutesOnNavigation} opts.patchRoutesOnNavigation n/a
1652
+ * @returns An initialized {@link DataRouter} to pass to {@link RouterProvider | `<RouterProvider>`}
1653
+ */
1654
+ declare function createMemoryRouter(routes: RouteObject[], opts?: MemoryRouterOpts): Router$1;
1655
+ /**
1656
+ * Function signature for client side error handling for loader/actions errors
1657
+ * and rendering errors via `componentDidCatch`
1658
+ */
1659
+ interface unstable_ClientOnErrorFunction {
1660
+ (error: unknown, errorInfo?: React.ErrorInfo): void;
1661
+ }
1662
+ /**
1663
+ * @category Types
1664
+ */
1665
+ interface RouterProviderProps {
1666
+ /**
1667
+ * The {@link DataRouter} instance to use for navigation and data fetching.
1668
+ */
1669
+ router: Router$1;
1670
+ /**
1671
+ * The [`ReactDOM.flushSync`](https://react.dev/reference/react-dom/flushSync)
1672
+ * implementation to use for flushing updates.
1673
+ *
1674
+ * You usually don't have to worry about this:
1675
+ * - The `RouterProvider` exported from `react-router/dom` handles this internally for you
1676
+ * - If you are rendering in a non-DOM environment, you can import
1677
+ * `RouterProvider` from `react-router` and ignore this prop
1678
+ */
1679
+ flushSync?: (fn: () => unknown) => undefined;
1680
+ /**
1681
+ * An error handler function that will be called for any loader/action/render
1682
+ * errors that are encountered in your application. This is useful for
1683
+ * logging or reporting errors instead of the `ErrorBoundary` because it's not
1684
+ * subject to re-rendering and will only run one time per error.
1685
+ *
1686
+ * The `errorInfo` parameter is passed along from
1687
+ * [`componentDidCatch`](https://react.dev/reference/react/Component#componentdidcatch)
1688
+ * and is only present for render errors.
1689
+ *
1690
+ * ```tsx
1691
+ * <RouterProvider unstable_onError=(error, errorInfo) => {
1692
+ * console.error(error, errorInfo);
1693
+ * reportToErrorService(error, errorInfo);
1694
+ * }} />
1695
+ * ```
1696
+ */
1697
+ unstable_onError?: unstable_ClientOnErrorFunction;
1698
+ }
1699
+ /**
1700
+ * Render the UI for the given {@link DataRouter}. This component should
1701
+ * typically be at the top of an app's element tree.
1702
+ *
1703
+ * ```tsx
1704
+ * import { createBrowserRouter } from "react-router";
1705
+ * import { RouterProvider } from "react-router/dom";
1706
+ * import { createRoot } from "react-dom/client";
1707
+ *
1708
+ * const router = createBrowserRouter(routes);
1709
+ * createRoot(document.getElementById("root")).render(
1710
+ * <RouterProvider router={router} />
1711
+ * );
1712
+ * ```
1713
+ *
1714
+ * <docs-info>Please note that this component is exported both from
1715
+ * `react-router` and `react-router/dom` with the only difference being that the
1716
+ * latter automatically wires up `react-dom`'s [`flushSync`](https://react.dev/reference/react-dom/flushSync)
1717
+ * implementation. You _almost always_ want to use the version from
1718
+ * `react-router/dom` unless you're running in a non-DOM environment.</docs-info>
1719
+ *
1720
+ *
1721
+ * @public
1722
+ * @category Data Routers
1723
+ * @mode data
1724
+ * @param props Props
1725
+ * @param {RouterProviderProps.flushSync} props.flushSync n/a
1726
+ * @param {RouterProviderProps.unstable_onError} props.unstable_onError n/a
1727
+ * @param {RouterProviderProps.router} props.router n/a
1728
+ * @returns React element for the rendered router
1729
+ */
1730
+ declare function RouterProvider({ router, flushSync: reactDomFlushSyncImpl, unstable_onError, }: RouterProviderProps): React.ReactElement;
1731
+ /**
1732
+ * @category Types
1733
+ */
1734
+ interface MemoryRouterProps {
1735
+ /**
1736
+ * Application basename
1737
+ */
1738
+ basename?: string;
1739
+ /**
1740
+ * Nested {@link Route} elements describing the route tree
1741
+ */
1742
+ children?: React.ReactNode;
1743
+ /**
1744
+ * Initial entries in the in-memory history stack
1745
+ */
1746
+ initialEntries?: InitialEntry[];
1747
+ /**
1748
+ * Index of `initialEntries` the application should initialize to
1749
+ */
1750
+ initialIndex?: number;
1751
+ }
1752
+ /**
1753
+ * A declarative {@link Router | `<Router>`} that stores all entries in memory.
1754
+ *
1755
+ * @public
1756
+ * @category Declarative Routers
1757
+ * @mode declarative
1758
+ * @param props Props
1759
+ * @param {MemoryRouterProps.basename} props.basename n/a
1760
+ * @param {MemoryRouterProps.children} props.children n/a
1761
+ * @param {MemoryRouterProps.initialEntries} props.initialEntries n/a
1762
+ * @param {MemoryRouterProps.initialIndex} props.initialIndex n/a
1763
+ * @returns A declarative in-memory {@link Router | `<Router>`} for client-side
1764
+ * routing.
1765
+ */
1766
+ declare function MemoryRouter({ basename, children, initialEntries, initialIndex, }: MemoryRouterProps): React.ReactElement;
1767
+ /**
1768
+ * @category Types
1769
+ */
1770
+ interface NavigateProps {
1771
+ /**
1772
+ * The path to navigate to. This can be a string or a {@link Path} object
1773
+ */
1774
+ to: To;
1775
+ /**
1776
+ * Whether to replace the current entry in the [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)
1777
+ * stack
1778
+ */
1779
+ replace?: boolean;
1780
+ /**
1781
+ * State to pass to the new {@link Location} to store in [`history.state`](https://developer.mozilla.org/en-US/docs/Web/API/History/state).
1782
+ */
1783
+ state?: any;
1784
+ /**
1785
+ * How to interpret relative routing in the `to` prop.
1786
+ * See {@link RelativeRoutingType}.
1787
+ */
1788
+ relative?: RelativeRoutingType;
1789
+ }
1790
+ /**
1791
+ * A component-based version of {@link useNavigate} to use in a
1792
+ * [`React.Component` class](https://react.dev/reference/react/Component) where
1793
+ * hooks cannot be used.
1794
+ *
1795
+ * It's recommended to avoid using this component in favor of {@link useNavigate}.
1796
+ *
1797
+ * @example
1798
+ * <Navigate to="/tasks" />
1799
+ *
1800
+ * @public
1801
+ * @category Components
1802
+ * @param props Props
1803
+ * @param {NavigateProps.relative} props.relative n/a
1804
+ * @param {NavigateProps.replace} props.replace n/a
1805
+ * @param {NavigateProps.state} props.state n/a
1806
+ * @param {NavigateProps.to} props.to n/a
1807
+ * @returns {void}
1808
+ *
1809
+ */
1810
+ declare function Navigate({ to, replace, state, relative, }: NavigateProps): null;
1811
+ /**
1812
+ * @category Types
1813
+ */
1814
+ interface OutletProps {
1815
+ /**
1816
+ * Provides a context value to the element tree below the outlet. Use when
1817
+ * the parent route needs to provide values to child routes.
1818
+ *
1819
+ * ```tsx
1820
+ * <Outlet context={myContextValue} />
1821
+ * ```
1822
+ *
1823
+ * Access the context with {@link useOutletContext}.
1824
+ */
1825
+ context?: unknown;
1826
+ }
1827
+ /**
1828
+ * Renders the matching child route of a parent route or nothing if no child
1829
+ * route matches.
1830
+ *
1831
+ * @example
1832
+ * import { Outlet } from "react-router";
1833
+ *
1834
+ * export default function SomeParent() {
1835
+ * return (
1836
+ * <div>
1837
+ * <h1>Parent Content</h1>
1838
+ * <Outlet />
1839
+ * </div>
1840
+ * );
1841
+ * }
1842
+ *
1843
+ * @public
1844
+ * @category Components
1845
+ * @param props Props
1846
+ * @param {OutletProps.context} props.context n/a
1847
+ * @returns React element for the rendered outlet or `null` if no child route matches.
1848
+ */
1849
+ declare function Outlet(props: OutletProps): React.ReactElement | null;
1850
+ /**
1851
+ * @category Types
1852
+ */
1853
+ interface PathRouteProps {
1854
+ /**
1855
+ * Whether the path should be case-sensitive. Defaults to `false`.
1856
+ */
1857
+ caseSensitive?: NonIndexRouteObject["caseSensitive"];
1858
+ /**
1859
+ * The path pattern to match. If unspecified or empty, then this becomes a
1860
+ * layout route.
1861
+ */
1862
+ path?: NonIndexRouteObject["path"];
1863
+ /**
1864
+ * The unique identifier for this route (for use with {@link DataRouter}s)
1865
+ */
1866
+ id?: NonIndexRouteObject["id"];
1867
+ /**
1868
+ * A function that returns a promise that resolves to the route object.
1869
+ * Used for code-splitting routes.
1870
+ * See [`lazy`](../../start/data/route-object#lazy).
1871
+ */
1872
+ lazy?: LazyRouteFunction<NonIndexRouteObject>;
1873
+ /**
1874
+ * The route loader.
1875
+ * See [`loader`](../../start/data/route-object#loader).
1876
+ */
1877
+ loader?: NonIndexRouteObject["loader"];
1878
+ /**
1879
+ * The route action.
1880
+ * See [`action`](../../start/data/route-object#action).
1881
+ */
1882
+ action?: NonIndexRouteObject["action"];
1883
+ hasErrorBoundary?: NonIndexRouteObject["hasErrorBoundary"];
1884
+ /**
1885
+ * The route shouldRevalidate function.
1886
+ * See [`shouldRevalidate`](../../start/data/route-object#shouldRevalidate).
1887
+ */
1888
+ shouldRevalidate?: NonIndexRouteObject["shouldRevalidate"];
1889
+ /**
1890
+ * The route handle.
1891
+ */
1892
+ handle?: NonIndexRouteObject["handle"];
1893
+ /**
1894
+ * Whether this is an index route.
1895
+ */
1896
+ index?: false;
1897
+ /**
1898
+ * Child Route components
1899
+ */
1900
+ children?: React.ReactNode;
1901
+ /**
1902
+ * The React element to render when this Route matches.
1903
+ * Mutually exclusive with `Component`.
1904
+ */
1905
+ element?: React.ReactNode | null;
1906
+ /**
1907
+ * The React element to render while this router is loading data.
1908
+ * Mutually exclusive with `HydrateFallback`.
1909
+ */
1910
+ hydrateFallbackElement?: React.ReactNode | null;
1911
+ /**
1912
+ * The React element to render at this route if an error occurs.
1913
+ * Mutually exclusive with `ErrorBoundary`.
1914
+ */
1915
+ errorElement?: React.ReactNode | null;
1916
+ /**
1917
+ * The React Component to render when this route matches.
1918
+ * Mutually exclusive with `element`.
1919
+ */
1920
+ Component?: React.ComponentType | null;
1921
+ /**
1922
+ * The React Component to render while this router is loading data.
1923
+ * Mutually exclusive with `hydrateFallbackElement`.
1924
+ */
1925
+ HydrateFallback?: React.ComponentType | null;
1926
+ /**
1927
+ * The React Component to render at this route if an error occurs.
1928
+ * Mutually exclusive with `errorElement`.
1929
+ */
1930
+ ErrorBoundary?: React.ComponentType | null;
1931
+ }
1932
+ /**
1933
+ * @category Types
1934
+ */
1935
+ interface LayoutRouteProps extends PathRouteProps {
1936
+ }
1937
+ /**
1938
+ * @category Types
1939
+ */
1940
+ interface IndexRouteProps {
1941
+ /**
1942
+ * Whether the path should be case-sensitive. Defaults to `false`.
1943
+ */
1944
+ caseSensitive?: IndexRouteObject["caseSensitive"];
1945
+ /**
1946
+ * The path pattern to match. If unspecified or empty, then this becomes a
1947
+ * layout route.
1948
+ */
1949
+ path?: IndexRouteObject["path"];
1950
+ /**
1951
+ * The unique identifier for this route (for use with {@link DataRouter}s)
1952
+ */
1953
+ id?: IndexRouteObject["id"];
1954
+ /**
1955
+ * A function that returns a promise that resolves to the route object.
1956
+ * Used for code-splitting routes.
1957
+ * See [`lazy`](../../start/data/route-object#lazy).
1958
+ */
1959
+ lazy?: LazyRouteFunction<IndexRouteObject>;
1960
+ /**
1961
+ * The route loader.
1962
+ * See [`loader`](../../start/data/route-object#loader).
1963
+ */
1964
+ loader?: IndexRouteObject["loader"];
1965
+ /**
1966
+ * The route action.
1967
+ * See [`action`](../../start/data/route-object#action).
1968
+ */
1969
+ action?: IndexRouteObject["action"];
1970
+ hasErrorBoundary?: IndexRouteObject["hasErrorBoundary"];
1971
+ /**
1972
+ * The route shouldRevalidate function.
1973
+ * See [`shouldRevalidate`](../../start/data/route-object#shouldRevalidate).
1974
+ */
1975
+ shouldRevalidate?: IndexRouteObject["shouldRevalidate"];
1976
+ /**
1977
+ * The route handle.
1978
+ */
1979
+ handle?: IndexRouteObject["handle"];
1980
+ /**
1981
+ * Whether this is an index route.
1982
+ */
1983
+ index: true;
1984
+ /**
1985
+ * Child Route components
1986
+ */
1987
+ children?: undefined;
1988
+ /**
1989
+ * The React element to render when this Route matches.
1990
+ * Mutually exclusive with `Component`.
1991
+ */
1992
+ element?: React.ReactNode | null;
1993
+ /**
1994
+ * The React element to render while this router is loading data.
1995
+ * Mutually exclusive with `HydrateFallback`.
1996
+ */
1997
+ hydrateFallbackElement?: React.ReactNode | null;
1998
+ /**
1999
+ * The React element to render at this route if an error occurs.
2000
+ * Mutually exclusive with `ErrorBoundary`.
2001
+ */
2002
+ errorElement?: React.ReactNode | null;
2003
+ /**
2004
+ * The React Component to render when this route matches.
2005
+ * Mutually exclusive with `element`.
2006
+ */
2007
+ Component?: React.ComponentType | null;
2008
+ /**
2009
+ * The React Component to render while this router is loading data.
2010
+ * Mutually exclusive with `hydrateFallbackElement`.
2011
+ */
2012
+ HydrateFallback?: React.ComponentType | null;
2013
+ /**
2014
+ * The React Component to render at this route if an error occurs.
2015
+ * Mutually exclusive with `errorElement`.
2016
+ */
2017
+ ErrorBoundary?: React.ComponentType | null;
2018
+ }
2019
+ type RouteProps = PathRouteProps | LayoutRouteProps | IndexRouteProps;
2020
+ /**
2021
+ * Configures an element to render when a pattern matches the current location.
2022
+ * It must be rendered within a {@link Routes} element. Note that these routes
2023
+ * do not participate in data loading, actions, code splitting, or any other
2024
+ * route module features.
2025
+ *
2026
+ * @example
2027
+ * // Usually used in a declarative router
2028
+ * function App() {
2029
+ * return (
2030
+ * <BrowserRouter>
2031
+ * <Routes>
2032
+ * <Route index element={<StepOne />} />
2033
+ * <Route path="step-2" element={<StepTwo />} />
2034
+ * <Route path="step-3" element={<StepThree />} />
2035
+ * </Routes>
2036
+ * </BrowserRouter>
2037
+ * );
2038
+ * }
2039
+ *
2040
+ * // But can be used with a data router as well if you prefer the JSX notation
2041
+ * const routes = createRoutesFromElements(
2042
+ * <>
2043
+ * <Route index loader={step1Loader} Component={StepOne} />
2044
+ * <Route path="step-2" loader={step2Loader} Component={StepTwo} />
2045
+ * <Route path="step-3" loader={step3Loader} Component={StepThree} />
2046
+ * </>
2047
+ * );
2048
+ *
2049
+ * const router = createBrowserRouter(routes);
2050
+ *
2051
+ * function App() {
2052
+ * return <RouterProvider router={router} />;
2053
+ * }
2054
+ *
2055
+ * @public
2056
+ * @category Components
2057
+ * @param props Props
2058
+ * @param {PathRouteProps.action} props.action n/a
2059
+ * @param {PathRouteProps.caseSensitive} props.caseSensitive n/a
2060
+ * @param {PathRouteProps.Component} props.Component n/a
2061
+ * @param {PathRouteProps.children} props.children n/a
2062
+ * @param {PathRouteProps.element} props.element n/a
2063
+ * @param {PathRouteProps.ErrorBoundary} props.ErrorBoundary n/a
2064
+ * @param {PathRouteProps.errorElement} props.errorElement n/a
2065
+ * @param {PathRouteProps.handle} props.handle n/a
2066
+ * @param {PathRouteProps.HydrateFallback} props.HydrateFallback n/a
2067
+ * @param {PathRouteProps.hydrateFallbackElement} props.hydrateFallbackElement n/a
2068
+ * @param {PathRouteProps.id} props.id n/a
2069
+ * @param {PathRouteProps.index} props.index n/a
2070
+ * @param {PathRouteProps.lazy} props.lazy n/a
2071
+ * @param {PathRouteProps.loader} props.loader n/a
2072
+ * @param {PathRouteProps.path} props.path n/a
2073
+ * @param {PathRouteProps.shouldRevalidate} props.shouldRevalidate n/a
2074
+ * @returns {void}
2075
+ */
2076
+ declare function Route(props: RouteProps): React.ReactElement | null;
2077
+ /**
2078
+ * @category Types
2079
+ */
2080
+ interface RouterProps {
2081
+ /**
2082
+ * The base path for the application. This is prepended to all locations
2083
+ */
2084
+ basename?: string;
2085
+ /**
2086
+ * Nested {@link Route} elements describing the route tree
2087
+ */
2088
+ children?: React.ReactNode;
2089
+ /**
2090
+ * The location to match against. Defaults to the current location.
2091
+ * This can be a string or a {@link Location} object.
2092
+ */
2093
+ location: Partial<Location> | string;
2094
+ /**
2095
+ * The type of navigation that triggered this `location` change.
2096
+ * Defaults to {@link NavigationType.Pop}.
2097
+ */
2098
+ navigationType?: Action;
2099
+ /**
2100
+ * The navigator to use for navigation. This is usually a history object
2101
+ * or a custom navigator that implements the {@link Navigator} interface.
2102
+ */
2103
+ navigator: Navigator;
2104
+ /**
2105
+ * Whether this router is static or not (used for SSR). If `true`, the router
2106
+ * will not be reactive to location changes.
2107
+ */
2108
+ static?: boolean;
2109
+ }
2110
+ /**
2111
+ * Provides location context for the rest of the app.
2112
+ *
2113
+ * Note: You usually won't render a `<Router>` directly. Instead, you'll render a
2114
+ * router that is more specific to your environment such as a {@link BrowserRouter}
2115
+ * in web browsers or a {@link ServerRouter} for server rendering.
2116
+ *
2117
+ * @public
2118
+ * @category Declarative Routers
2119
+ * @mode declarative
2120
+ * @param props Props
2121
+ * @param {RouterProps.basename} props.basename n/a
2122
+ * @param {RouterProps.children} props.children n/a
2123
+ * @param {RouterProps.location} props.location n/a
2124
+ * @param {RouterProps.navigationType} props.navigationType n/a
2125
+ * @param {RouterProps.navigator} props.navigator n/a
2126
+ * @param {RouterProps.static} props.static n/a
2127
+ * @returns React element for the rendered router or `null` if the location does
2128
+ * not match the {@link props.basename}
2129
+ */
2130
+ declare function Router({ basename: basenameProp, children, location: locationProp, navigationType, navigator, static: staticProp, }: RouterProps): React.ReactElement | null;
2131
+ /**
2132
+ * @category Types
2133
+ */
2134
+ interface RoutesProps {
2135
+ /**
2136
+ * Nested {@link Route} elements
2137
+ */
2138
+ children?: React.ReactNode;
2139
+ /**
2140
+ * The {@link Location} to match against. Defaults to the current location.
2141
+ */
2142
+ location?: Partial<Location> | string;
2143
+ }
2144
+ /**
2145
+ * Renders a branch of {@link Route | `<Route>`s} that best matches the current
2146
+ * location. Note that these routes do not participate in [data loading](../../start/framework/route-module#loader),
2147
+ * [`action`](../../start/framework/route-module#action), code splitting, or
2148
+ * any other [route module](../../start/framework/route-module) features.
2149
+ *
2150
+ * @example
2151
+ * import { Route, Routes } from "react-router";
2152
+ *
2153
+ * <Routes>
2154
+ * <Route index element={<StepOne />} />
2155
+ * <Route path="step-2" element={<StepTwo />} />
2156
+ * <Route path="step-3" element={<StepThree />}>
2157
+ * </Routes>
2158
+ *
2159
+ * @public
2160
+ * @category Components
2161
+ * @param props Props
2162
+ * @param {RoutesProps.children} props.children n/a
2163
+ * @param {RoutesProps.location} props.location n/a
2164
+ * @returns React element for the rendered routes or `null` if no route matches
2165
+ */
2166
+ declare function Routes({ children, location, }: RoutesProps): React.ReactElement | null;
2167
+ interface AwaitResolveRenderFunction<Resolve = any> {
2168
+ (data: Awaited<Resolve>): React.ReactNode;
2169
+ }
2170
+ /**
2171
+ * @category Types
2172
+ */
2173
+ interface AwaitProps<Resolve> {
2174
+ /**
2175
+ * When using a function, the resolved value is provided as the parameter.
2176
+ *
2177
+ * ```tsx [2]
2178
+ * <Await resolve={reviewsPromise}>
2179
+ * {(resolvedReviews) => <Reviews items={resolvedReviews} />}
2180
+ * </Await>
2181
+ * ```
2182
+ *
2183
+ * When using React elements, {@link useAsyncValue} will provide the
2184
+ * resolved value:
2185
+ *
2186
+ * ```tsx [2]
2187
+ * <Await resolve={reviewsPromise}>
2188
+ * <Reviews />
2189
+ * </Await>
2190
+ *
2191
+ * function Reviews() {
2192
+ * const resolvedReviews = useAsyncValue();
2193
+ * return <div>...</div>;
2194
+ * }
2195
+ * ```
2196
+ */
2197
+ children: React.ReactNode | AwaitResolveRenderFunction<Resolve>;
2198
+ /**
2199
+ * The error element renders instead of the `children` when the [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)
2200
+ * rejects.
2201
+ *
2202
+ * ```tsx
2203
+ * <Await
2204
+ * errorElement={<div>Oops</div>}
2205
+ * resolve={reviewsPromise}
2206
+ * >
2207
+ * <Reviews />
2208
+ * </Await>
2209
+ * ```
2210
+ *
2211
+ * To provide a more contextual error, you can use the {@link useAsyncError} in a
2212
+ * child component
2213
+ *
2214
+ * ```tsx
2215
+ * <Await
2216
+ * errorElement={<ReviewsError />}
2217
+ * resolve={reviewsPromise}
2218
+ * >
2219
+ * <Reviews />
2220
+ * </Await>
2221
+ *
2222
+ * function ReviewsError() {
2223
+ * const error = useAsyncError();
2224
+ * return <div>Error loading reviews: {error.message}</div>;
2225
+ * }
2226
+ * ```
2227
+ *
2228
+ * If you do not provide an `errorElement`, the rejected value will bubble up
2229
+ * to the nearest route-level [`ErrorBoundary`](../../start/framework/route-module#errorboundary)
2230
+ * and be accessible via the {@link useRouteError} hook.
2231
+ */
2232
+ errorElement?: React.ReactNode;
2233
+ /**
2234
+ * Takes a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)
2235
+ * returned from a [`loader`](../../start/framework/route-module#loader) to be
2236
+ * resolved and rendered.
2237
+ *
2238
+ * ```tsx
2239
+ * import { Await, useLoaderData } from "react-router";
2240
+ *
2241
+ * export async function loader() {
2242
+ * let reviews = getReviews(); // not awaited
2243
+ * let book = await getBook();
2244
+ * return {
2245
+ * book,
2246
+ * reviews, // this is a promise
2247
+ * };
2248
+ * }
2249
+ *
2250
+ * export default function Book() {
2251
+ * const {
2252
+ * book,
2253
+ * reviews, // this is the same promise
2254
+ * } = useLoaderData();
2255
+ *
2256
+ * return (
2257
+ * <div>
2258
+ * <h1>{book.title}</h1>
2259
+ * <p>{book.description}</p>
2260
+ * <React.Suspense fallback={<ReviewsSkeleton />}>
2261
+ * <Await
2262
+ * // and is the promise we pass to Await
2263
+ * resolve={reviews}
2264
+ * >
2265
+ * <Reviews />
2266
+ * </Await>
2267
+ * </React.Suspense>
2268
+ * </div>
2269
+ * );
2270
+ * }
2271
+ * ```
2272
+ */
2273
+ resolve: Resolve;
2274
+ }
2275
+ /**
2276
+ * Used to render promise values with automatic error handling.
2277
+ *
2278
+ * **Note:** `<Await>` expects to be rendered inside a [`<React.Suspense>`](https://react.dev/reference/react/Suspense)
2279
+ *
2280
+ * @example
2281
+ * import { Await, useLoaderData } from "react-router";
2282
+ *
2283
+ * export async function loader() {
2284
+ * // not awaited
2285
+ * const reviews = getReviews();
2286
+ * // awaited (blocks the transition)
2287
+ * const book = await fetch("/api/book").then((res) => res.json());
2288
+ * return { book, reviews };
2289
+ * }
2290
+ *
2291
+ * function Book() {
2292
+ * const { book, reviews } = useLoaderData();
2293
+ * return (
2294
+ * <div>
2295
+ * <h1>{book.title}</h1>
2296
+ * <p>{book.description}</p>
2297
+ * <React.Suspense fallback={<ReviewsSkeleton />}>
2298
+ * <Await
2299
+ * resolve={reviews}
2300
+ * errorElement={
2301
+ * <div>Could not load reviews 😬</div>
2302
+ * }
2303
+ * children={(resolvedReviews) => (
2304
+ * <Reviews items={resolvedReviews} />
2305
+ * )}
2306
+ * />
2307
+ * </React.Suspense>
2308
+ * </div>
2309
+ * );
2310
+ * }
2311
+ *
2312
+ * @public
2313
+ * @category Components
2314
+ * @mode framework
2315
+ * @mode data
2316
+ * @param props Props
2317
+ * @param {AwaitProps.children} props.children n/a
2318
+ * @param {AwaitProps.errorElement} props.errorElement n/a
2319
+ * @param {AwaitProps.resolve} props.resolve n/a
2320
+ * @returns React element for the rendered awaited value
2321
+ */
2322
+ declare function Await<Resolve>({ children, errorElement, resolve, }: AwaitProps<Resolve>): React.JSX.Element;
2323
+ /**
2324
+ * Creates a route config from a React "children" object, which is usually
2325
+ * either a `<Route>` element or an array of them. Used internally by
2326
+ * `<Routes>` to create a route config from its children.
2327
+ *
2328
+ * @category Utils
2329
+ * @mode data
2330
+ * @param children The React children to convert into a route config
2331
+ * @param parentPath The path of the parent route, used to generate unique IDs.
2332
+ * @returns An array of {@link RouteObject}s that can be used with a {@link DataRouter}
2333
+ */
2334
+ declare function createRoutesFromChildren(children: React.ReactNode, parentPath?: number[]): RouteObject[];
2335
+ /**
2336
+ * Create route objects from JSX elements instead of arrays of objects.
2337
+ *
2338
+ * @example
2339
+ * const routes = createRoutesFromElements(
2340
+ * <>
2341
+ * <Route index loader={step1Loader} Component={StepOne} />
2342
+ * <Route path="step-2" loader={step2Loader} Component={StepTwo} />
2343
+ * <Route path="step-3" loader={step3Loader} Component={StepThree} />
2344
+ * </>
2345
+ * );
2346
+ *
2347
+ * const router = createBrowserRouter(routes);
2348
+ *
2349
+ * function App() {
2350
+ * return <RouterProvider router={router} />;
2351
+ * }
2352
+ *
2353
+ * @name createRoutesFromElements
2354
+ * @public
2355
+ * @category Utils
2356
+ * @mode data
2357
+ * @param children The React children to convert into a route config
2358
+ * @param parentPath The path of the parent route, used to generate unique IDs.
2359
+ * This is used for internal recursion and is not intended to be used by the
2360
+ * application developer.
2361
+ * @returns An array of {@link RouteObject}s that can be used with a {@link DataRouter}
2362
+ */
2363
+ declare const createRoutesFromElements: typeof createRoutesFromChildren;
2364
+ /**
2365
+ * Renders the result of {@link matchRoutes} into a React element.
2366
+ *
2367
+ * @public
2368
+ * @category Utils
2369
+ * @param matches The array of {@link RouteMatch | route matches} to render
2370
+ * @returns A React element that renders the matched routes or `null` if no matches
2371
+ */
2372
+ declare function renderMatches(matches: RouteMatch[] | null): React.ReactElement | null;
2373
+ declare function useRouteComponentProps(): {
2374
+ params: Readonly<Params<string>>;
2375
+ loaderData: any;
2376
+ actionData: any;
2377
+ matches: UIMatch<unknown, unknown>[];
2378
+ };
2379
+ type RouteComponentProps = ReturnType<typeof useRouteComponentProps>;
2380
+ type RouteComponentType = React.ComponentType<RouteComponentProps>;
2381
+ declare function WithComponentProps({ children, }: {
2382
+ children: React.ReactElement;
2383
+ }): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
2384
+ declare function withComponentProps(Component: RouteComponentType): () => React.ReactElement<{
2385
+ params: Readonly<Params<string>>;
2386
+ loaderData: any;
2387
+ actionData: any;
2388
+ matches: UIMatch<unknown, unknown>[];
2389
+ }, string | React.JSXElementConstructor<any>>;
2390
+ declare function useHydrateFallbackProps(): {
2391
+ params: Readonly<Params<string>>;
2392
+ loaderData: any;
2393
+ actionData: any;
2394
+ };
2395
+ type HydrateFallbackProps = ReturnType<typeof useHydrateFallbackProps>;
2396
+ type HydrateFallbackType = React.ComponentType<HydrateFallbackProps>;
2397
+ declare function WithHydrateFallbackProps({ children, }: {
2398
+ children: React.ReactElement;
2399
+ }): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
2400
+ declare function withHydrateFallbackProps(HydrateFallback: HydrateFallbackType): () => React.ReactElement<{
2401
+ params: Readonly<Params<string>>;
2402
+ loaderData: any;
2403
+ actionData: any;
2404
+ }, string | React.JSXElementConstructor<any>>;
2405
+ declare function useErrorBoundaryProps(): {
2406
+ params: Readonly<Params<string>>;
2407
+ loaderData: any;
2408
+ actionData: any;
2409
+ error: unknown;
2410
+ };
2411
+ type ErrorBoundaryProps = ReturnType<typeof useErrorBoundaryProps>;
2412
+ type ErrorBoundaryType = React.ComponentType<ErrorBoundaryProps>;
2413
+ declare function WithErrorBoundaryProps({ children, }: {
2414
+ children: React.ReactElement;
2415
+ }): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
2416
+ declare function withErrorBoundaryProps(ErrorBoundary: ErrorBoundaryType): () => React.ReactElement<{
2417
+ params: Readonly<Params<string>>;
2418
+ loaderData: any;
2419
+ actionData: any;
2420
+ error: unknown;
2421
+ }, string | React.JSXElementConstructor<any>>;
2422
+
1586
2423
  interface IndexRouteObject {
1587
2424
  caseSensitive?: AgnosticIndexRouteObject["caseSensitive"];
1588
2425
  path?: AgnosticIndexRouteObject["path"];
@@ -1635,8 +2472,9 @@ interface DataRouteMatch extends RouteMatch<string, DataRouteObject> {
1635
2472
  type PatchRoutesOnNavigationFunctionArgs = AgnosticPatchRoutesOnNavigationFunctionArgs<RouteObject, RouteMatch>;
1636
2473
  type PatchRoutesOnNavigationFunction = AgnosticPatchRoutesOnNavigationFunction<RouteObject, RouteMatch>;
1637
2474
  interface DataRouterContextObject extends Omit<NavigationContextObject, "future"> {
1638
- router: Router;
2475
+ router: Router$1;
1639
2476
  staticContext?: StaticHandlerContext;
2477
+ unstable_onError?: unstable_ClientOnErrorFunction;
1640
2478
  }
1641
2479
  declare const DataRouterContext: React.Context<DataRouterContextObject | null>;
1642
2480
  declare const DataRouterStateContext: React.Context<RouterState | null>;
@@ -1700,4 +2538,4 @@ interface RouteContextObject {
1700
2538
  }
1701
2539
  declare const RouteContext: React.Context<RouteContextObject>;
1702
2540
 
1703
- export { type ErrorResponse as $, Action as A, type BlockerFunction as B, type StaticHandler as C, type DataStrategyFunction as D, type GetScrollRestorationKeyFunction as E, type FutureConfig as F, type GetScrollPositionFunction as G, type HydrationState as H, type InitialEntry as I, type StaticHandlerContext as J, type Fetcher as K, type LazyRouteFunction as L, type MiddlewareEnabled as M, type NonIndexRouteObject as N, type NavigationStates as O, type PatchRoutesOnNavigationFunction as P, type RouterSubscriber as Q, type Router as R, type ShouldRevalidateFunction as S, type To as T, type UIMatch as U, type RouterNavigateOptions as V, type RouterFetchOptions as W, type RevalidationState as X, type DataStrategyFunctionArgs as Y, type DataStrategyMatch as Z, type DataStrategyResult as _, type RelativeRoutingType as a, type FormEncType as a0, type FormMethod as a1, type HTMLFormMethod as a2, type PathParam as a3, type RedirectFunction as a4, type unstable_RouterContext as a5, type ShouldRevalidateFunctionArgs as a6, unstable_createContext as a7, createPath as a8, parsePath as a9, type History as aA, type CreateStaticHandlerOptions as aB, IDLE_NAVIGATION as aa, IDLE_FETCHER as ab, IDLE_BLOCKER as ac, data as ad, generatePath as ae, isRouteErrorResponse as af, matchPath as ag, matchRoutes as ah, redirect as ai, redirectDocument as aj, replace as ak, resolvePath as al, type PatchRoutesOnNavigationFunctionArgs as am, type Future as an, createBrowserHistory as ao, invariant as ap, createRouter as aq, ErrorResponseImpl as ar, DataRouterContext as as, DataRouterStateContext as at, FetchersContext as au, LocationContext as av, NavigationContext as aw, RouteContext as ax, ViewTransitionContext as ay, type RouteManifest as az, type IndexRouteObject as b, type Location as c, type Navigator as d, type RouterInit as e, type RouteObject as f, type RouteMatch as g, type Params as h, type ActionFunctionArgs as i, type LoaderFunctionArgs as j, type ActionFunction as k, type LoaderFunction as l, type DataRouteMatch as m, type unstable_MiddlewareFunction as n, unstable_RouterContextProvider as o, DataWithResponseInit as p, type NavigateOptions as q, type Blocker as r, type ParamParseKey as s, type Path as t, type unstable_MiddlewareNextFunction as u, type PathPattern as v, type PathMatch as w, type Navigation as x, type RouterState as y, type DataRouteObject as z };
2541
+ export { type DataStrategyMatch as $, type ActionFunctionArgs as A, type BlockerFunction as B, type PatchRoutesOnNavigationFunction as C, type DataStrategyResult as D, type ErrorBoundaryType as E, type DataRouteObject as F, type StaticHandler as G, type HydrationState as H, type InitialEntry as I, type GetScrollPositionFunction as J, type GetScrollRestorationKeyFunction as K, type Location as L, type MiddlewareEnabled as M, type NavigateOptions as N, type StaticHandlerContext as O, type Params as P, type Fetcher as Q, type RouterProviderProps as R, type ShouldRevalidateFunction as S, type To as T, type UIMatch as U, type NavigationStates as V, type RouterSubscriber as W, type RouterNavigateOptions as X, type RouterFetchOptions as Y, type RevalidationState as Z, type DataStrategyFunctionArgs as _, type RouterInit as a, mapRouteProperties as a$, type ErrorResponse as a0, type FormEncType as a1, type FormMethod as a2, type HTMLFormMethod as a3, type LazyRouteFunction as a4, type PathParam as a5, type RedirectFunction as a6, type unstable_RouterContext as a7, type ShouldRevalidateFunctionArgs as a8, unstable_createContext as a9, type RouterProps as aA, type RoutesProps as aB, Await as aC, MemoryRouter as aD, Navigate as aE, Outlet as aF, Route as aG, Router as aH, RouterProvider as aI, Routes as aJ, createMemoryRouter as aK, createRoutesFromChildren as aL, createRoutesFromElements as aM, renderMatches as aN, type Future as aO, createBrowserHistory as aP, invariant as aQ, createRouter as aR, ErrorResponseImpl as aS, DataRouterContext as aT, DataRouterStateContext as aU, FetchersContext as aV, LocationContext as aW, NavigationContext as aX, RouteContext as aY, ViewTransitionContext as aZ, hydrationRouteProperties as a_, createPath as aa, parsePath as ab, IDLE_NAVIGATION as ac, IDLE_FETCHER as ad, IDLE_BLOCKER as ae, data as af, generatePath as ag, isRouteErrorResponse as ah, matchPath as ai, matchRoutes as aj, redirect as ak, redirectDocument as al, replace as am, resolvePath as an, type Navigator as ao, type PatchRoutesOnNavigationFunctionArgs as ap, type RouteMatch as aq, type AwaitProps as ar, type IndexRouteProps as as, type LayoutRouteProps as at, type MemoryRouterOpts as au, type MemoryRouterProps as av, type NavigateProps as aw, type OutletProps as ax, type PathRouteProps as ay, type RouteProps as az, type unstable_MiddlewareNextFunction as b, WithComponentProps as b0, withComponentProps as b1, WithHydrateFallbackProps as b2, withHydrateFallbackProps as b3, WithErrorBoundaryProps as b4, withErrorBoundaryProps as b5, type RouteManifest as b6, type History as b7, type FutureConfig as b8, type CreateStaticHandlerOptions as b9, type LoaderFunctionArgs as c, type ActionFunction as d, type LoaderFunction as e, type DataRouteMatch as f, type unstable_MiddlewareFunction as g, unstable_RouterContextProvider as h, DataWithResponseInit as i, type Router$1 as j, type DataStrategyFunction as k, type Blocker as l, type RelativeRoutingType as m, type ParamParseKey as n, type Path as o, type PathPattern as p, type PathMatch as q, type Navigation as r, Action as s, type RouteObject as t, type unstable_ClientOnErrorFunction as u, type IndexRouteObject as v, type RouteComponentType as w, type HydrateFallbackType as x, type NonIndexRouteObject as y, type RouterState as z };