import * as Effect from 'effect/Effect';
import type { RsbuildPluginAPI } from '@rsbuild/core';
import { getBuildManifest } from './build-manifest.js';
import { getReactRouterManifestForDev, type ReactRouterManifestStats, type RouteManifestModuleExports } from './manifest.js';
import type { Config, ResolvedReactRouterConfig } from './react-router-config.js';
import type { PluginOptions, Route } from './types.js';
type ReactRouterManifest = Awaited<ReturnType<typeof getReactRouterManifestForDev>>;
type PrerenderBuildApi = Pick<RsbuildPluginAPI, 'logger' | 'getNormalizedConfig'>;
type RunReactRouterPrerenderBuildOptions = {
    api: PrerenderBuildApi;
    hasWebEnvironment: boolean;
    buildDirectory: string;
    serverBuildFile?: string;
    ssr: boolean;
    isPrerenderEnabled: boolean;
    prerenderConfig: Config['prerender'];
    prerenderPaths: string[];
    basename: string;
    future: ResolvedReactRouterConfig['future'];
    routes: Record<string, Route>;
    latestBrowserManifest: ReactRouterManifest | null;
    latestBrowserManifestModuleExports: RouteManifestModuleExports;
    clientStats: ReactRouterManifestStats | undefined;
    pluginOptions: PluginOptions;
    appDirectory: string;
    assetPrefix: string;
    routeChunkOptions: Parameters<typeof getReactRouterManifestForDev>[5];
    buildManifest: Awaited<ReturnType<typeof getBuildManifest>>;
    resolvedConfigWithRoutes: ResolvedReactRouterConfig;
    buildEnd: Config['buildEnd'];
};
export declare const createBuildRequestEffect: <T>(input: string | URL, init: RequestInit | undefined, handle: (request: Request) => Promise<T>) => Effect.Effect<T, Error, never>;
export declare const withBuildRequest: <T>(input: string | URL, init: RequestInit | undefined, handle: (request: Request) => Promise<T>) => Promise<T>;
export declare const createBoundedPrerenderTasksEffect: (prerenderPaths: string[], concurrency: number, renderPath: (path: string) => Effect.Effect<void, Error, never>) => Effect.Effect<void, Error, never>;
export declare const runReactRouterPrerenderBuild: (options: RunReactRouterPrerenderBuildOptions) => Promise<void>;
export {};
