/**
 * 路由权限对象
 */
export interface IRoleRoute {
    path: string;
    name: string;
    type: number;
    title?: string;
    index?: number;
    children?: IRoleRoute[];
    selected?: boolean;
    isadmin?: boolean;
}
/**
 * Widget菜单控制
 */
export interface IRoleWidgetMenu {
    name: string;
    index?: number;
    path?: string;
    type?: number;
    children?: Array<IRoleWidgetMenu>;
    selected?: boolean;
    isadmin?: boolean;
}
/**
 * Widget组件权限控制
 */
export interface IRoleWidget {
    /**
     * Layout标识名,以支撑多个布局使用
    */
    layoutID?: string;
    /**
     * 唯一ID,与组件名一致
     */
    id: string;
    /**
     * 标题或说明
     */
    label?: string;
    /**
     * 所属容器，top/bottom/left/right等
     */
    container: number;
    /**
     * 是否初始化时，预加载
     */
    preload?: boolean;
    /**
     * 前置容器ID,一般也就是bindid
     */
    afterid?: string;
    /**
     * 绑定依赖容器ID,不一定有afterid
     */
    bindid?: string;
    /**
     * 所属组，用于业务分类
     */
    group?: string;
    selected?: boolean;
    isadmin?: boolean;
}
/**
 * 功能点列表，用于功能点上报和权限过滤
 */
export interface IRoleFunction {
    id: string;
    name: string;
    children?: Array<IRoleFunction>;
    selected?: boolean;
    isback?: boolean;
    isadmin?: boolean;
}
/**
 * 系统权限路由菜单-总对象
 */
export interface ISysRoleRight {
    id: string;
    name: string;
    group?: string;
    product: string;
    version: string;
    routes?: IRoleRoute[];
    widgetMenu?: IRoleWidgetMenu[];
    widgets?: IRoleWidget[];
    functions?: IRoleFunction[];
}
