import { AnyElysia } from 'elysia';
import { RouterContextProvider, AppLoadContext } from 'react-router';
import { P as PluginOptions } from './types-C5hXf6yT.js';
import 'elysia/context';
import 'vite';

/**
 * Initializes and configures an Elysia server with React Router integration.
 *
 * This function sets up the Elysia server to handle React Router SSR (Server-Side Rendering)
 * and optionally integrates Vite for development mode.
 *
 * @param {PluginOptions<RouterContextProvider | AppLoadContext>} [options] - Optional configuration options for the plugin.
 * @returns {Promise<Elysia>} - A promise that resolves to the configured Elysia instance.
 *
 * @example
 * ```typescript
 * import { reactRouter } from "elysia-react-router";
 *
 * new Elysia()
 *     .use(await reactRouter())
 *     .get("/some", "Hello, world!")
 *     .listen(3000, console.log);
 * ```
 */
declare function reactRouter(options?: PluginOptions<RouterContextProvider | AppLoadContext>): Promise<AnyElysia>;

export { reactRouter };
