// // Copyright 2025 New Vector Ltd. // // SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial // Please see LICENSE files in the repository root for full details. // import MatrixRustSDK // sourcery: AutoMockable protocol RoomPowerLevelsProxyProtocol { var values: RoomPowerLevelsValues { get } var userPowerLevels: [String: Int64] { get } func canOwnUser(sendMessage messageType: MessageLikeEventType) -> Bool func canOwnUser(sendStateEvent event: StateEventType) -> Bool func canOwnUserInvite() -> Bool func canOwnUserRedactOther() -> Bool func canOwnUserRedactOwn() -> Bool func canOwnUserKick() -> Bool func canOwnUserBan() -> Bool func canOwnUserTriggerRoomNotification() -> Bool func canOwnUserPinOrUnpin() -> Bool func canOwnUserJoinCall() -> Bool func canOwnUserEditRolesAndPermissions() -> Bool func canUser(userID: String, sendMessage messageType: MessageLikeEventType) -> Result func canUser(userID: String, sendStateEvent event: StateEventType) -> Result func canUserInvite(userID: String) -> Result func canUserRedactOther(userID: String) -> Result func canUserRedactOwn(userID: String) -> Result func canUserKick(userID: String) -> Result func canUserBan(userID: String) -> Result func canUserTriggerRoomNotification(userID: String) -> Result func canUserPinOrUnpin(userID: String) -> Result func canUserJoinCall(userID: String) -> Result }