import * as Effect from 'effect/Effect';
import type { Config } from './react-router-config.js';
import type { Route } from './types.js';
type BuildManifest = {
    routes: Record<string, Route>;
} | {
    routes: Record<string, Route>;
    serverBundles: Record<string, {
        id: string;
        file: string;
    }>;
    routeIdToServerBundleId: Record<string, string>;
};
type GetBuildManifestOptions = {
    reactRouterConfig: Required<Pick<Config, 'appDirectory' | 'buildDirectory' | 'serverBuildFile' | 'future'>> & Pick<Config, 'serverBundles'>;
    routes: Record<string, Route>;
    rootDirectory: string;
};
export declare const getBuildManifestEffect: ({ reactRouterConfig, routes, rootDirectory, }: GetBuildManifestOptions) => Effect.Effect<BuildManifest | undefined, Error, never>;
export declare const getBuildManifest: (options: GetBuildManifestOptions) => Promise<BuildManifest | undefined>;
export declare const getRoutesByServerBundleId: (buildManifest: BuildManifest | undefined, sourceRoutes: Record<string, Route>) => Record<string, Record<string, Route>>;
export {};
