export interface IMenuTreeItem {
    id: string;
    pId: string;
    level: number;
    name: string;
    oldName: string;
    isOpen: boolean;
    isParent: boolean;
    active?: boolean;
    children: Array<IMenuTreeItem> | null;
    parent?: IMenuTreeItem | null
}

export interface IMenuTree {
    menus: Array<IMenuTreeItem>;
    url: string;

    setMenuTreeArray(item: IMenuTreeItem): void;

    handleClick(item: IMenuTreeItem): void;

    handleExpand(item: IMenuTreeItem): void;

    handleEditClick(item: IMenuTreeItem): void;

    handleAddClick(item: IMenuTreeItem): void;

    handleRemoveClick(item: IMenuTreeItem, index: number, parent?: IMenuTreeItem): void;

    handleNameChange(item: IMenuTreeItem): void;

}