// SPDX-License-Identifier: GPL-3.0-only pragma solidity ^0.8.26; import {KeyValue} from "lens-modules/contracts/core/types/Types.sol"; interface IGroupRule { function configure(bytes32 configSalt, KeyValue[] calldata ruleParams) external; function processAddition( bytes32 configSalt, address originalMsgSender, address account, KeyValue[] calldata primitiveParams, KeyValue[] calldata ruleParams ) external; function processRemoval( bytes32 configSalt, address originalMsgSender, address account, KeyValue[] calldata primitiveParams, KeyValue[] calldata ruleParams ) external; function processJoining( bytes32 configSalt, address account, KeyValue[] calldata primitiveParams, KeyValue[] calldata ruleParams ) external; function processLeaving( bytes32 configSalt, address account, KeyValue[] calldata primitiveParams, KeyValue[] calldata ruleParams ) external; }