import { ReactNode } from "react";

type GetTab = (props: any) => ReactNode[] | ReactNode;

export type ModuleTab = {
    label: string;
    key: string;
    icon: ReactNode;
    device: "mobile" | "desktop" | "both";
    tab: (props: any) => ReactNode;
};

export type Module = {
    info: {
        label: string;
        key: string;
    };
    tabs: ModuleTab[];
    getTabs?: GetTab;
    getMobileTabs?: GetTab;
    getDesktopTabs?: GetTab;
};

type ModulesType = {
    [key: string]: Module;
};

export default ModulesType;
