import { RuntimeHook } from './runtime-hooks.js';
export interface ManagedReactRoot {
    id: string;
    root: any;
    container: HTMLElement;
    isRendering: boolean;
    lastRenderTime?: Date;
    componentId?: string;
}
export declare class ReactRootManager {
    private roots;
    private renderingRoots;
    private unmountQueue;
    private hooks;
    private firstRootCreated;
    RegisterHook(hook: RuntimeHook): void;
    RemoveHook(hookName: string): boolean;
    createRoot(container: HTMLElement, createRootFn: (container: HTMLElement) => any, componentId?: string): string;
    render(rootId: string, element: any, onComplete?: () => void): void;
    unmountRoot(rootId: string, force?: boolean): Promise<void>;
    unmountComponentRoots(componentId: string): Promise<void>;
    isRendering(rootId: string): boolean;
    getStats(): {
        totalRoots: number;
        renderingRoots: number;
        pendingUnmounts: number;
    };
    cleanup(): Promise<void>;
    private invokeHooks;
}
export declare const reactRootManager: ReactRootManager;
//# sourceMappingURL=react-root-manager.d.ts.map