import type IEmbeddedMenuProps from "../components/embeddedMenu/type";

export type MenuType = {
    data?: Array<EmbeddedMenuDataType>;
};

export type EmbeddedMenuDataType = Omit<IEmbeddedMenuProps, "id" | "navigation"> & {
    id?: string;
};

export type EmbeddedMenuContextType = {
    load: (menuData: EmbeddedMenuDataType) => string;
    get: (props?: {
        index?: number;
        id?: string;
    }) => EmbeddedMenuDataType | undefined;
    update: (props?: {
        menuData: EmbeddedMenuDataType;
        index?: number;
        id?: string;
    }) => void;
    data: Array<EmbeddedMenuDataType>;
    unload: (props?: {
        index?: number;
        id?: string;
    }) => string;
    open: (props?: {
        index?: number;
        id?: string;
    }) => void;
    close: (props?: {
        index?: number;
        id?: string;
    }) => void;
};

export type EmbeddedMenuStateContextType = {
    data: Array<EmbeddedMenuDataType>;
};
