declare class Role { name?: string; authority: number; permissions: number; override?: number; /*** * Role Constructor * @param {string} name * @param authority * @param {number} permissions * @param {number|null} override */ constructor(name?: string, authority?: number, permissions?: number, override?: any); /*** * Checks if this Role has a permission * @param {number} perm * @returns {boolean} */ has: (perm: number) => boolean; /*** * Checks if this Role explicitly has a permission (without this.override override option) * @param {number} perm * @returns {boolean} */ hasLiteral: (perm: number) => boolean; /*** * Check if a role has authority over another role; The lowest value has the highest authority. * The top level authority value is 1, the lowest level is (2^53) - 1 * @param {Role} role * @returns {boolean} */ hasAuthorityOver: (role: Role) => boolean; /*** * Checks if a given permissions number contains a permission * @param {number} perms * @param {number} perm * @returns {boolean} */ static has: (perms: number, perm: number) => boolean; /*** * Adds a permission to a Role * @param {number} perms * @returns {Role} */ addPermission: (perms: number) => Role; /*** * Adds a list of permissions to a Role * @param {Array} perms * @returns {Role} */ addPermissions: (perms: Array) => Role; /*** * Removes a permission from a Role * @returns {Role} * @param perm */ removePermission: (perm: number) => Role; /*** * Removes a list of permissions from a Role * @returns {Role} * @param perms */ removePermissions: (perms: Array) => Role; } export { Role }; export default Role; //# sourceMappingURL=index.d.ts.map