import { Component } from '../component-class';
import { Root } from '../dom';
import { DOMApi } from '../dom-api';
import { isRehydrationScheduled } from './rehydration-state';

export { isRehydrationScheduled };
export type ApiFactory = (namespace?: string) => DOMApi;
export type ApiFactoryWrapper = {
    factory: ApiFactory;
};
export declare function nodeById(nodeId: string): HTMLElement | undefined;
export declare function lastItemInStack(target: 'text' | 'node' | 'comment'): HTMLElement;
export declare function itemFromRehydrationStack(): HTMLElement | undefined;
export declare function withRehydration(componentCreationCallback: typeof Component<any>, args: Record<string, unknown>, targetNode: HTMLElement, // the node to render the component into
root?: Root): void;
