import { Ref } from 'vue';
import { useComponentManager, useFormSchema, useGlobal, useHookManager, usePanel, usePublicMethods } from '../../hooks/src/index';
export interface PluginManager {
    component: ReturnType<typeof useComponentManager> & {
        add: ReturnType<typeof useComponentManager>['addComponent'];
        clearGroupNameMap: ReturnType<typeof useComponentManager>['clearComponentGroupNameMap'];
        get: ReturnType<typeof useComponentManager>['getComponent'];
        getConfigByType: ReturnType<typeof useComponentManager>['getComponentConfigByType'];
        hide: ReturnType<typeof useComponentManager>['hideComponent'];
        hideComponents: ReturnType<typeof useComponentManager>['setHideComponents'];
        register: ReturnType<typeof useComponentManager>['registerComponent'];
        remove: ReturnType<typeof useComponentManager>['removeComponent'];
        setComponentGroupNameMap: ReturnType<typeof useComponentManager>['setComponentGroupNameMap'];
        setGroupNameMap: ReturnType<typeof useComponentManager>['setComponentGroupNameMap'];
        show: ReturnType<typeof useComponentManager>['showComponent'];
    };
    designer: {
        formSchema: ReturnType<typeof useFormSchema>['formSchema'];
        initialized: Ref<boolean>;
        setFormSchema: ReturnType<typeof useFormSchema>['setFormSchema'];
        setInitialized: (value: boolean) => void;
    };
    global: ReturnType<typeof useGlobal>['global'];
    hook: ReturnType<typeof useHookManager>;
    panel: ReturnType<typeof usePanel>;
    publicMethods: ReturnType<typeof usePublicMethods> & {
        add: ReturnType<typeof usePublicMethods>['addPublicMethod'];
        remove: ReturnType<typeof usePublicMethods>['removePublicMethod'];
    };
}
export declare function createPluginManager(): PluginManager;
export declare const pluginManager: PluginManager;
