import type { RouterProviderProps } from './types';
/**
* RouterProvider component that provides router context to the React tree.
* This must wrap your application to enable routing functionality.
* Uses useSyncExternalStore for optimal React 18+ integration with concurrent features.
*
* @param props - Component props
* @param props.router - Router instance to provide
* @param props.children - Child components
*
* @example
* ```tsx
* import { Router, RouterMode } from '@esmx/router';
* import { RouterProvider } from '@esmx/router-react';
*
* const routes = [
* { path: '/', component: Home },
* { path: '/about', component: About }
* ];
*
* const router = new Router({
* routes,
* mode: RouterMode.history
* });
*
* function App() {
* return (
*
*
*
*
*
* );
* }
* ```
*
* @example
* ```tsx
* // SSR usage - initialize router with server URL
* import { Router, RouterMode } from '@esmx/router';
* import { RouterProvider } from '@esmx/router-react';
*
* const router = new Router({
* routes,
* mode: RouterMode.history,
* base: new URL(serverUrl)
* });
*
* function ServerApp() {
* return (
*
*
*
* );
* }
* ```
*/
export declare function RouterProvider({ router, children }: RouterProviderProps): React.ReactElement;
export declare namespace RouterProvider {
var displayName: string;
}