///
interface IBaseMenuItem {
label: React.ReactNode;
value?: string;
data: TMenuData | null;
}
export declare type IFlatMenuItem = IBaseMenuItem & {
id: string;
parent: string | null;
sort: number;
};
export declare type IMenuItem = IBaseMenuItem & {
children: Array>;
};
export declare type IMenu = Array>;
export declare type IFlatMenu = Array>;
export declare function validateMenuOptions(menu: IMenu): boolean;
export declare function getMenuItemByPath(menu: IMenu, path: number[]): IMenuItem;
export declare function getMenuItemByValue(menu: IMenu, value: string): IMenuItem;
export declare function walkToMenuItem(menu: IMenu, path: number[]): IMenu;
export declare function walkToRoot(menu: IMenu, value: string): IMenu;
export declare function toFlat(menu: IMenu): IFlatMenu;
export declare function fromFlat(menu: IFlatMenu): IMenu;
export declare function isLeaf(menuItem: IMenuItem): boolean;
export {};