import { QueryClient } from '@tanstack/react-query';
import type { WebSocketClientInterface } from './api';
import './index.css';
import { type Deferred } from './shared';
import type { DaraData } from './types';
declare global {
    interface Window {
        dara: DaraGlobals;
    }
}
interface DaraGlobals {
    base_url: string;
    ws: Deferred<WebSocketClientInterface>;
}
export declare function Root(props: {
    daraData: DaraData;
    queryClient: QueryClient;
}): JSX.Element;
/**
 * The main run function for the JS half of the application creates a div and binds the react app onto the tree. It sets
 * up a lot of context providers for the rest of the application. It accepts an object of importers as an argument. An
 * importer is a function that calls a dynamic import statement and allows arbitrary JS code to be loaded into the core
 * application code (DynamicComponent). This object needs to be defined in the client application.
 *
 * @param importers - the importers object.
 */
declare function run(importers: {
    [k: string]: () => Promise<any>;
}): Promise<void>;
export default run;
//# sourceMappingURL=run.d.ts.map