import type { HydrationState, Router } from "@remix-run/router";
import type { ReactElement } from "react";
import type { AssetsManifest, FutureConfig } from "./entry";
import type { RouteModules } from "./routeModules";
declare global {
    var __remixContext: {
        basename?: string;
        state: HydrationState;
        criticalCss?: string;
        future: FutureConfig;
        isSpaMode: boolean;
        stream: ReadableStream<Uint8Array> | undefined;
        streamController: ReadableStreamDefaultController<Uint8Array>;
        a?: number;
        dev?: {
            port?: number;
            hmrRuntime?: string;
        };
    };
    var __remixRouter: Router;
    var __remixRouteModules: RouteModules;
    var __remixManifest: AssetsManifest;
    var __remixRevalidation: number | undefined;
    var __remixHdrActive: boolean;
    var __remixClearCriticalCss: (() => void) | undefined;
    var $RefreshRuntime$: {
        performReactRefresh: () => void;
    };
}
export interface RemixBrowserProps {
}
/**
 * The entry point for a Remix app when it is rendered in the browser (in
 * `app/entry.client.js`). This component is used by React to hydrate the HTML
 * that was received from the server.
 */
export declare function RemixBrowser(_props: RemixBrowserProps): ReactElement;
