import type { IResponse } from '../_interfaces/IQuery';
export declare type AuthIntranetOptions = {
/**
* 组件启用验证内网环境功能
*/
enable?: boolean;
/**
* 检测是否为内网时访问的网页地址
*/
url?: string;
/**
* 启用后仅在开发模式生效,模拟返回成功的结果
*/
mock?: boolean;
/**
* 自定义验证内网环境的方法
* 返回为 true 时表示当前处于内网环境
*/
customCheckIsIntranet?: () => Promise;
};
export declare type AuthPermissionOptions = {
/**
* 组件启用验证访问模块权限功能
*/
enable?: boolean;
/**
* 需鉴权的模块名称
* 非自定义验证模块权限的方法时,必须设置 key 的值
*/
key?: string;
/**
* 权限请求接口的前缀
*/
prefix?: string;
/**
* 权限请求接口的地址
*/
api?: string;
/**
* 启用后仅在开发模式生效,模拟返回成功的结果
*/
mock?: boolean;
/**
* 自定义验证模块权限的方法
* 返回为 true 时表示用户拥有模块的权限
*/
customCheckPermission?: () => Promise;
};
/**
* 检查用户当前是否在内网环境
* @param options.url 用于检测当前是否在内网环境的网页地址,默认为 https://dtmp.aliyun-inc.com/checkpreload.htm
* @param options.mock 模拟当前在内网环境,仅限开发模式下使用
* @param options.customCheckIsIntranet 自定义验证内网环境的方法。此时 options.url 无效
* @returns 如果在内网环境,则返回对象的 `data` 属性值为 `true`
*/
export declare const checkIsIntranet: (options: AuthIntranetOptions) => Promise>;
/**
* 检查用户是否有访问对应模块的权限
* @param options.key 需鉴权的模块名称,例如 `gts_team`
* @param options.prefix 权限请求接口的前缀,例如 `https://dev.gts.work:8088/mock`
* @param options.api 权限请求接口的地址,例如 `/user/get-permission`
* @param options.mock 模拟当前拥有 options.key 模块的权限,仅限开发模式下使用
* @param options.customCheckPermission 自定义验证模块权限的方法。此时 options.{key,prefix,api} 无效
* @returns 如果有访问对应模块的权限,则返回对象的 `data` 属性值为 `true`
*/
export declare const checkPermission: (options: AuthPermissionOptions) => Promise>;