///
import { FC, PropsWithChildren } from 'react';
import ReactDOM from 'react-dom/client';
import { DataRouter, createBrowserRouter } from 'react-router';
import { TRouteObject } from "../interfaces/route-object.js";
interface IAppClientProps {
client: T;
}
interface IInitPropsParams {
isSSRMode: boolean;
router: DataRouter;
}
type TApp = FC>>;
interface IEntryClientOptions {
init?: (params: IInitPropsParams) => Promise;
routerOptions?: Parameters[1];
createRouter?: typeof createBrowserRouter;
rootId?: string;
}
/**
* Render client side application
*/
declare function entry(App: TApp, routes: TRouteObject[], { init, routerOptions, createRouter, rootId, }?: IEntryClientOptions): Promise;
export { entry as default, IAppClientProps, IInitPropsParams, TApp, IEntryClientOptions };