import { BlockchainCommonErrors, EVMAccountAddress } from "@snickerdoodlelabs/objects"; import { ResultAsync } from "neverthrow"; import { ERewardRoles } from "../interfaces/enums"; import { IBaseContract } from "../interfaces/IBaseContract.js"; import { ContractOverrides, WrappedTransactionResponse } from "../interfaces/objects/index.js"; export interface IRBCContract extends IBaseContract { /** * Checks if an address has a specific role in the Reward contract * @param role string that is a key defined in RewardRoles enum * @param address Address to use */ hasRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress): ResultAsync; /** * Grants a role to an address * @param role string that is a key defined in RewardRoles enum * @param address Address to use */ grantRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; /** * Revokes a role of an address * @param role string that is a key defined in RewardRoles enum * @param address Address to use */ revokeRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; /** * Allows an address to renounce its role * @param role string that is a key defined in RewardRoles enum * @param address Address to use */ renounceRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; } //# sourceMappingURL=IRBCContract.d.ts.map