declare const contract: {
    readonly id: 29584;
    readonly address: "0xe753b6aa1227df7d92bc920e90ce2e9299dc8c95";
    readonly contract_name: "BeaconProxy";
    readonly display_name: "ERC20 Staking Proxy";
    readonly is_deprecated: false;
    readonly is_proxy: true;
    readonly proxy_to: "0xe3c054930b7257ad59b4c33a4d96da7db71759b0";
    readonly created_at: 1734074091;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "beacon";
        }, {
            readonly type: "bytes";
            readonly name: "data";
        }];
    }, {
        readonly name: "AddressEmptyCode";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "target";
        }];
    }, {
        readonly name: "ERC1967InvalidBeacon";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "beacon";
        }];
    }, {
        readonly name: "ERC1967InvalidImplementation";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation";
        }];
    }, {
        readonly name: "ERC1967NonPayable";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "FailedInnerCall";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "BeaconUpgraded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "beacon";
            readonly indexed: true;
        }];
    }, {
        readonly type: "fallback";
        readonly stateMutability: "payable";
    }];
    readonly proxy_abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
    }, {
        readonly name: "AddressEmptyCode";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "target";
        }];
    }, {
        readonly name: "AddressInsufficientBalance";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "CouldNotRefund";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrDistributionOverlapped";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "newIndex";
        }, {
            readonly type: "tuple";
            readonly name: "newDts";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "affectedDts";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
    }, {
        readonly name: "ErrInvalidEndedAt";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidLength";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "sig";
        }];
    }, {
        readonly name: "ErrInvalidReward";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidStartedAt";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidTimestampDistribution";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrNothingToUpdate";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrOutOfRange";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "upperBound";
        }, {
            readonly type: "uint256";
            readonly name: "actual";
        }];
    }, {
        readonly name: "ErrTransferNativeFailed";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "address";
            readonly name: "to";
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "ErrUnstakedFailed";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "user";
        }, {
            readonly type: "uint256";
            readonly name: "stakingTotal";
        }, {
            readonly type: "uint256";
            readonly name: "currentAmount";
        }, {
            readonly type: "uint256";
            readonly name: "requestedAmount";
        }];
    }, {
        readonly name: "ErrUpdateDistributionTooSoon";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrViolateMinClaimTimeRule";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint64";
            readonly name: "expectedTime";
        }, {
            readonly type: "uint64";
            readonly name: "waitTime";
        }];
    }, {
        readonly name: "FailedInnerCall";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InsufficientContextValue";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidInitialization";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "MathOverflowedMulDiv";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotInitializing";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "OwnableInvalidOwner";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "owner";
        }];
    }, {
        readonly name: "OwnableUnauthorizedAccount";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "SafeERC20FailedOperation";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "ValueContextInitialized";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "Initialized";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint64";
            readonly name: "version";
        }];
    }, {
        readonly name: "OwnershipTransferStarted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "previousOwner";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newOwner";
            readonly indexed: true;
        }];
    }, {
        readonly name: "OwnershipTransferred";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "previousOwner";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newOwner";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RewardClaimed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "user";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "token";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "RewardDistributionSet";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "operator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "rewardToken";
            readonly indexed: true;
        }, {
            readonly type: "tuple[]";
            readonly name: "distribution";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
    }, {
        readonly name: "Staked";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "user";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "stakingToken";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "stakedAmount";
        }, {
            readonly type: "uint256";
            readonly name: "updatedAmount";
        }];
    }, {
        readonly name: "Unstaked";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "user";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "stakingToken";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "unstakedAmount";
        }, {
            readonly type: "uint256";
            readonly name: "updatedAmount";
        }];
    }, {
        readonly name: "CLAIM_COOLDOWN";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint64";
        }];
    }, {
        readonly name: "COOLDOWN_TO_NEXT_UPDATE_DTS";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint64";
        }];
    }, {
        readonly name: "MIN_OFFSET_DURATION";
        readonly type: "function";
        readonly stateMutability: "pure";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint64";
        }];
    }, {
        readonly name: "acceptOwnership";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "addRewardDistribution";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "rewardToken";
        }, {
            readonly type: "tuple";
            readonly name: "dts";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "takenAmount";
        }];
    }, {
        readonly name: "claimRewardsFor";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "user";
        }];
        readonly outputs: readonly [{
            readonly type: "address[]";
            readonly name: "rwTokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "claimedAmounts";
        }];
    }, {
        readonly name: "getAllRewardDistributions";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address[]";
            readonly name: "rwTokens";
        }, {
            readonly type: "tuple[][]";
            readonly name: "distributions";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
    }, {
        readonly name: "getDistributionAmountsInRange";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint64";
            readonly name: "startedTimestamp";
        }, {
            readonly type: "uint64";
            readonly name: "endedTimestamp";
        }];
        readonly outputs: readonly [{
            readonly type: "address[]";
            readonly name: "rewardTokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "amounts";
        }];
    }, {
        readonly name: "getPoolStats";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "stakingToken";
        }, {
            readonly type: "uint256";
            readonly name: "stakingTotal";
        }, {
            readonly type: "uint64";
            readonly name: "lastDistributionUpdated";
        }, {
            readonly type: "address[]";
            readonly name: "rewardTokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "claimedAmounts";
        }, {
            readonly type: "uint256[]";
            readonly name: "distributedAmounts";
        }];
    }, {
        readonly name: "getRewardDistributionsOf";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "rewardToken";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "distributions";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
    }, {
        readonly name: "getUserStats";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "user";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "stakingAmount";
        }, {
            readonly type: "address[]";
            readonly name: "rwTokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "claimableAmounts";
        }, {
            readonly type: "uint256[]";
            readonly name: "claimedAmounts";
        }, {
            readonly type: "uint64";
            readonly name: "lastClaimedAt";
        }];
    }, {
        readonly name: "initialize";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "owner";
        }, {
            readonly type: "address";
            readonly name: "refunder";
        }, {
            readonly type: "address";
            readonly name: "stakingToken";
        }, {
            readonly type: "address[]";
            readonly name: "rewardTokens";
        }, {
            readonly type: "tuple[]";
            readonly name: "dtsArr";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "owner";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "peekAddRewardDistribution";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "rewardToken";
        }, {
            readonly type: "tuple";
            readonly name: "dts";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "requiredAmount";
        }];
    }, {
        readonly name: "peekUpdateRewardDistribution";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "rewardToken";
        }, {
            readonly type: "uint256";
            readonly name: "index";
        }, {
            readonly type: "tuple";
            readonly name: "dts";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "refundAmount";
        }, {
            readonly type: "uint256";
            readonly name: "requiredAmount";
        }];
    }, {
        readonly name: "pendingOwner";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "renounceOwnership";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "stake";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "supportsInterface";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "interfaceId";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "transferOwnership";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newOwner";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "unstake";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "updateRewardDistribution";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "rewardToken";
        }, {
            readonly type: "uint256";
            readonly name: "index";
        }, {
            readonly type: "tuple";
            readonly name: "dts";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "rps";
            }, {
                readonly type: "uint64";
                readonly name: "startedAt";
            }, {
                readonly type: "uint64";
                readonly name: "endedAt";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "refundAmount";
        }, {
            readonly type: "uint256";
            readonly name: "takenAmount";
        }];
    }];
};

export { contract as default };
