import { AbstractApplicationPermissions, ApplicationPermissionEvents } from '@netless/forge-room';
export declare enum WhiteboardPermissionFlag {
    /**
     * 没有任何权限, 只能同步的看他人绘制
     */
    none = 0,
    /**
     * 可以绘制元素
     */
    draw = 1,
    /**
     * 可以修改自己创建的元素
     */
    editSelf = 2,
    /**
     * 可以修改他人创建的元素
     */
    editOthers = 4,
    /**
     * 可以删除自己创建的元素
     */
    deleteSelf = 8,
    /**
     * 可以删除他人创建的元素
     */
    deleteOthers = 16,
    /**
     * 可以修改主视角, 包括页面和画布状态, 添加页面, 删除页面
     */
    mainView = 32,
    /**
     * 可以修改他人的视角模式, 指定他人的页码
     */
    setOthersView = 64,
    /**
     * 拥有所有权限
     */
    all = 127
}
export interface WhitePermissionEvents extends ApplicationPermissionEvents {
    /**
     * 当用户权限变更时触发
     * @param { string } userId 对应 userId
     * @param { WhiteboardPermissionFlag[] } flags 当前权限列表
     * @param { number } value 权限值
     */
    change: (userId: string, flags: WhiteboardPermissionFlag[], value: number) => void;
}
export declare class WhiteboardPermissions extends AbstractApplicationPermissions<WhiteboardPermissionFlag, WhitePermissionEvents> {
    /**
       * 解析权限列表组合
       * @param {number} value - 权限数字值
       * @return {WhiteboardPermissionFlag[]} - 权限列表
       */
    resolveFlags(value: number): WhiteboardPermissionFlag[];
}
//# sourceMappingURL=WhitePermissions.d.ts.map