import React, { ReactNode } from 'react';
import { MenuProps } from 'antd';
type Item = MenuProps['items'][0] & {
    /** 在清空数组时，如果该字段为 true 则保留该选项 */
    notdelete?: boolean;
    /** 用于给列表排序 */
    order?: number;
};
export declare const GetMenuItemContext: React.Context<{
    collectMenuItem?(item: Item): void;
    onChange?: () => void;
}>;
export declare const GetMenuItemsContext: React.Context<{
    pushMenuItem?(item: Item): void;
}>;
/**
 * 用于为 SchemaInitializer.Item 组件提供一些方法，比如收集菜单项数据
 * @returns
 */
export declare const useCollectMenuItem: () => {
    collectMenuItem?(item: Item): void;
    onChange?: () => void;
};
export declare const useCollectMenuItems: () => {
    pushMenuItem?(item: Item): void;
};
/**
 * 用于在 antd 从 4.x 升级到 5.x 中，用于把 SchemaInitializer.Item 组件这种写法转换成 Menu 组件的 items 写法
 * @returns
 */
export declare const useMenuItem: () => {
    Component: ({ limitCount }: {
        limitCount?: number;
    }) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element;
    getMenuItems: (Com: () => ReactNode) => Item[];
    getMenuItem: (Com: () => JSX.Element) => Item;
    clean: () => void;
};
export {};
