import type { ResourceTypeId } from './resource-id.js'; import type { Resource } from './resource.js'; /** 资源权限 */ export declare enum ResourcePermission { /** 列出资源、读取元数据和权限数据 */ READ_META = 1, /** 读取资源内容数据 */ READ = 2, /** 修改资源元数据 */ WRITE_META = 4, /** 修改资源内容数据 */ WRITE = 8, /** 修改资源权限数据 */ ADMIN = 16, /** 修改资源发布数据 */ PUBLISH = 32, /** 删除资源 */ DELETE = 32768, /** 作为子模块参与仿真 */ MODEL_SUBMODULE = 65536, /** 运行函数 */ FUNCTION_EXECUTE = 65536, /** 通过数据视图获取数据内容 */ DATASOURCE_VIEW = 65536 } /** 预设资源权限组合 */ export interface ResourcePermissionsPreset { /** 用于识别的 key */ key: string; /** 验证是否可用 */ valid: (doc: Resource) => boolean; /** 组合值 */ value: ResourcePermissions; } export declare namespace ResourcePermission { /** 空权限 */ const EMPTY: ResourcePermission; /** 检查是否有指定权限 */ function has(self: ResourcePermission, ...permissions: ResourcePermission[]): boolean; /** 添加权限 */ function add(self: ResourcePermission, ...permissionsToAdd: ResourcePermission[]): ResourcePermission; /** 移除权限 */ function remove(self: ResourcePermission, ...permissionsToRemove: ResourcePermission[]): ResourcePermission; /** 创建组合权限 */ function create(...permissions: ResourcePermission[]): ResourcePermission; /** 规格化权限,根据已有权限标签,添加隐式获取的标签 */ function normalize(self: ResourcePermission): ResourcePermission; /** 计算包含的权限数量 */ function count(self: ResourcePermission): number; /** 检查权限是否仅包含通用权限 */ function isCommon(self: ResourcePermission): boolean; /** 检查权限是否仅包含自定义权限 */ function isCustom(self: ResourcePermission): boolean; /** 预设资源权限组合 */ function presets(type: ResourceTypeId): ResourcePermissionsPreset[]; } /** 资源权限 */ export interface ResourcePermissions { /** 管理员权限 */ moderator: ResourcePermission; /** 成员权限 */ member: ResourcePermission; /** 访客权限 */ everyone: ResourcePermission; } export declare const ResourcePermissionRole: readonly ["moderator", "member", "everyone"]; /** 可配置资源权限的角色,不包含默认拥有所有权限的 `'owner'` */ export type ResourcePermissionRole = (typeof ResourcePermissionRole)[number]; //# sourceMappingURL=permission.d.ts.map