/// <reference types="react" />
import { StateManager } from './services/StateManager';
import { SunmaoLib } from './services/Registry';
import { AppHooks } from './types';
import './style.css';
export declare type SunmaoUIRuntimeProps = {
    libs?: SunmaoLib[];
    dependencies?: Record<string, any>;
    hooks?: AppHooks;
};
export declare function initSunmaoUI(props?: SunmaoUIRuntimeProps): {
    App: (props: Omit<import("./types").AppProps, "services">) => JSX.Element;
    stateManager: StateManager;
    registry: import("./services/Registry").Registry;
    globalHandlerMap: Map<string, import("./services/handler").HandlerMap>;
    apiService: {
        on: {
            <Key extends "uiMethod" | "moduleEvent">(type: Key, handler: import("mitt").Handler<{
                uiMethod: {
                    componentId: string;
                    name: string;
                    parameters?: any;
                };
                moduleEvent: {
                    fromId: string;
                    eventType: string;
                };
            }[Key]>): void;
            (type: "*", handler: import("mitt").WildcardHandler<{
                uiMethod: {
                    componentId: string;
                    name: string;
                    parameters?: any;
                };
                moduleEvent: {
                    fromId: string;
                    eventType: string;
                };
            }>): void;
        };
        off: {
            <Key_1 extends "uiMethod" | "moduleEvent">(type: Key_1, handler?: import("mitt").Handler<{
                uiMethod: {
                    componentId: string;
                    name: string;
                    parameters?: any;
                };
                moduleEvent: {
                    fromId: string;
                    eventType: string;
                };
            }[Key_1]> | undefined): void;
            (type: "*", handler: import("mitt").WildcardHandler<{
                uiMethod: {
                    componentId: string;
                    name: string;
                    parameters?: any;
                };
                moduleEvent: {
                    fromId: string;
                    eventType: string;
                };
            }>): void;
        };
        send: {
            <Key_2 extends "uiMethod" | "moduleEvent">(type: Key_2, event: {
                uiMethod: {
                    componentId: string;
                    name: string;
                    parameters?: any;
                };
                moduleEvent: {
                    fromId: string;
                    eventType: string;
                };
            }[Key_2]): void;
            <Key_3 extends "uiMethod" | "moduleEvent">(type: undefined extends {
                uiMethod: {
                    componentId: string;
                    name: string;
                    parameters?: any;
                };
                moduleEvent: {
                    fromId: string;
                    eventType: string;
                };
            }[Key_3] ? Key_3 : never): void;
        };
    };
    eleMap: Map<string, HTMLElement>;
};
export * from './utils/buildKit';
export * from './types';
export * from './constants';
export * from './traits/core';
export type { RegistryInterface, SunmaoLib } from './services/Registry';
export { ExpressionError } from './services/StateManager';
export type { StateManagerInterface } from './services/StateManager';
export { ModuleRenderer } from './components/_internal/ModuleRenderer';
export { ImplWrapper } from './components/_internal/ImplWrapper';
export { default as Text, TextPropertySpec } from './components/_internal/Text';
export { EventHandlerSpec, EventCallBackHandlerSpec, ModuleSpec, } from '@sunmao-ui/shared';
export { watch } from './utils/watchReactivity';
