import { EVMAccountAddress, EVMContractAddress, BlockchainCommonErrors, ERC20ContractError, TokenAmount, DomainName, Signature } from "@snickerdoodlelabs/objects"; import { ethers } from "ethers"; import { ResultAsync } from "neverthrow"; import { BaseContract } from "../implementations/BaseContract.js"; import { IEthersContractError } from "../implementations/BlockchainErrorMapper.js"; import { ERewardRoles } from "../interfaces/enums/index.js"; import { ContractOverrides, IERC20RewardContract, WrappedTransactionResponse } from "../interfaces/index.js"; export declare class ERC20RewardContract extends BaseContract implements IERC20RewardContract { protected providerOrSigner: ethers.Provider | ethers.Signer; protected contractAddress: EVMContractAddress; constructor(providerOrSigner: ethers.Provider | ethers.Signer, contractAddress: EVMContractAddress); name(): ResultAsync; symbol(): ResultAsync; decimals(): ResultAsync; totalSupply(): ResultAsync; balanceOf(address: EVMAccountAddress | EVMContractAddress): ResultAsync; allowance(owner: EVMAccountAddress | EVMContractAddress, spender: EVMAccountAddress | EVMContractAddress): ResultAsync; approve(spender: EVMAccountAddress | EVMContractAddress, amount: TokenAmount, overrides?: ContractOverrides): ResultAsync; transfer(recipient: EVMAccountAddress | EVMContractAddress, amount: TokenAmount, overrides?: ContractOverrides): ResultAsync; transferFrom(sender: EVMAccountAddress | EVMContractAddress, recipient: EVMAccountAddress | EVMContractAddress, amount: TokenAmount, overrides?: ContractOverrides): ResultAsync; hasRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress): ResultAsync; grantRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; revokeRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; renounceRole(role: keyof typeof ERewardRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; addDomain(domain: DomainName, overrides?: ContractOverrides): ResultAsync; removeDomain(domain: DomainName, overrides?: ContractOverrides): ResultAsync; checkDomain(domain: DomainName): ResultAsync; redeem(account: EVMAccountAddress, amount: TokenAmount, signature: Signature, overrides?: ContractOverrides): ResultAsync; protected generateContractSpecificError(msg: string, e: IEthersContractError, transaction: ethers.Transaction | null): ERC20ContractError; filters: { Transfer: (fromAddress: EVMAccountAddress | null, toAddress: EVMAccountAddress | null) => ethers.DeferredTopicFilter; }; } //# sourceMappingURL=ERC20RewardContract.d.ts.map