import type { Component, PropsWithoutRef, ReactNode, RefAttributes } from 'react';
import { type Action, type UnknownAction } from '../actions';
export type ComponentType<P = Record<string, any>, T = any> = {
    new (props: PropsWithoutRef<P> & RefAttributes<T>, context?: any): Component<P>;
} | ((props: PropsWithoutRef<P> & RefAttributes<T>, context?: any) => ReactNode);
export type State = Map<string, ComponentType>;
export declare function getInitialState({ reactComponents, }?: {
    reactComponents?: Map<string, ComponentType>;
}): State;
export declare function getReactComponent(state: State, type: string): ComponentType | null;
export declare function reducer(state: State | undefined, action: Action | UnknownAction): State;
//# sourceMappingURL=react-components.d.ts.map