import type { NzSafeAny } from 'ng-zorro-antd/core/types';
export interface LcACLType {
    /**
     * 角色
     */
    role?: string[];
    /**
     * 用户类型
     */
    type?: string[];
    /**
     * 权限组
     */
    permissionGroups?: string[];
    /**
     * 权限组拼接字符组
     */
    permissions?: string[];
    /**
     * 设置的可以访问的路由菜单
     */
    menus?: AuthModelList[];
    /**
     * 授权可访问的菜单列表
     */
    authPaths?: Map<string, string>;
    /**
     * 待验证的path
     */
    authPath?: string;
    /**
     * 用户自定义的判断字段, 需要同时满足
     */
    extraAll?: boolean;
    /**
     * 用户自定义的判断字段，满足一个即可
     */
    extraOne?: boolean;
    /**
     * Validated against, default: `oneOf`
     * - `allOf` the value validates against all the roles or abilities
     * - `oneOf` the value validates against exactly one of the roles or abilities
     */
    mode?: 'allOf' | 'oneOf';
    /**
     * 是否取反，即结果为 `true` 时表示未授权
     */
    except?: boolean;
    [key: string]: NzSafeAny;
}
export declare type LcACLCanType = string | string[] | LcACLType;
export interface LcACLConfig {
    /**
     * Router URL when guard fail, default: `/auth/403`
     */
    guard_url?: string;
}
/**
 * 授权的菜单列表单个
 */
export interface AuthPathItem {
    icon: string;
    id: number;
    level: number;
    menu_name: string;
    parent_id: number;
    url: string;
    children: null | AuthPathItem[];
}
/**
 * 菜单模块列表组
 */
export interface AuthModelList {
    menu_list: AuthPathItem[];
    model_name: string;
    model_id: string;
    url: string;
}
export interface MixMenu {
    children?: MixMenu[];
    menu_list?: MixMenu[];
    url: string;
}
