import { ControlDefinition as UnifiedControlDefinition } from '@makeswift/controls';
import { type LegacyDescriptor, type DescriptorValueType } from '../../prop-controllers/descriptors';
import { BreakpointsInput } from '../../state/modules/breakpoints';
import { ComponentIcon } from '../../state/modules/components-meta';
import type { ComponentType } from '../../state/react-page';
import { RuntimeCore } from './runtime-core';
export declare class ReactRuntimeCore extends RuntimeCore {
    registerComponent<ControlDef extends UnifiedControlDefinition, P extends Record<string, LegacyDescriptor | ControlDef>, C extends ComponentType<{
        [K in keyof P]: DescriptorValueType<P[K]>;
    }>>(component: C, { type, label, icon, hidden, description, builtinSuspense, props, }: {
        type: string;
        label: string;
        icon?: ComponentIcon;
        hidden?: boolean;
        description?: string;
        /**
         * In React <= 19.1, controls the default `<Suspense>` boundary.
         * Ignored in React >= 19.2; components are always wrapped in `<Activity>`.
         * Defaults to `true`.
         */
        builtinSuspense?: boolean;
        props?: P;
    }): () => void;
    constructor({ breakpoints }?: {
        breakpoints?: BreakpointsInput;
    });
}
//# sourceMappingURL=react-runtime-core.d.ts.map