declare const contract: {
    readonly id: 146;
    readonly address: "0x9b0e61e629eb44875cff534de0c176078cac502f";
    readonly contract_name: "Staking";
    readonly display_name: "Staking";
    readonly is_deprecated: false;
    readonly is_proxy: false;
    readonly proxy_to: false;
    readonly created_at: 1684207637;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrAdminOfAnyActivePoolForbidden";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "admin";
        }];
    }, {
        readonly name: "ErrCallerMustBeValidatorContract";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrCannotInitTransferRON";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "addr";
        }, {
            readonly type: "string";
            readonly name: "extraInfo";
        }];
    }, {
        readonly name: "ErrCannotTransferRON";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInactivePool";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "poolAddr";
        }];
    }, {
        readonly name: "ErrInsufficientBalance";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInsufficientDelegatingAmount";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInsufficientStakingAmount";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidArrays";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidCommissionRate";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidPoolShare";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrOnlyPoolAdminAllowed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrPoolAdminForbidden";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrRecipientRevert";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrStakingAmountLeft";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrThreeInteractionAddrsNotEqual";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrThreeOperationAddrsNotDistinct";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrUndelegateTooEarly";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrUndelegateZeroAmount";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrUnstakeTooEarly";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrUnstakeZeroAmount";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrZeroCodeContract";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrZeroValue";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "CommissionRateRangeUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "minRate";
        }, {
            readonly type: "uint256";
            readonly name: "maxRate";
        }];
    }, {
        readonly name: "CooldownSecsToUndelegateUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "minSecs";
        }];
    }, {
        readonly name: "Delegated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "delegator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "consensuAddr";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "Initialized";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "version";
        }];
    }, {
        readonly name: "MinValidatorStakingAmountUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "threshold";
        }];
    }, {
        readonly name: "PoolApproved";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "validator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "admin";
            readonly indexed: true;
        }];
    }, {
        readonly name: "PoolSharesUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "period";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "poolAddr";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "shares";
        }];
    }, {
        readonly name: "PoolsDeprecated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "validator";
        }];
    }, {
        readonly name: "PoolsUpdateConflicted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "period";
            readonly indexed: true;
        }, {
            readonly type: "address[]";
            readonly name: "poolAddrs";
        }];
    }, {
        readonly name: "PoolsUpdateFailed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "period";
            readonly indexed: true;
        }, {
            readonly type: "address[]";
            readonly name: "poolAddrs";
        }, {
            readonly type: "uint256[]";
            readonly name: "rewards";
        }];
    }, {
        readonly name: "PoolsUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "period";
            readonly indexed: true;
        }, {
            readonly type: "address[]";
            readonly name: "poolAddrs";
        }, {
            readonly type: "uint256[]";
            readonly name: "aRps";
        }, {
            readonly type: "uint256[]";
            readonly name: "shares";
        }];
    }, {
        readonly name: "RewardClaimed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "poolAddr";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "user";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "Staked";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "consensuAddr";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "StakingAmountDeductFailed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "validator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "recipient";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }, {
            readonly type: "uint256";
            readonly name: "contractBalance";
        }];
    }, {
        readonly name: "StakingAmountTransferFailed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "validator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "admin";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }, {
            readonly type: "uint256";
            readonly name: "contractBalance";
        }];
    }, {
        readonly name: "Undelegated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "delegator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "consensuAddr";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "Unstaked";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "consensuAddr";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "UserRewardUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "poolAddr";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "user";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "debited";
        }];
    }, {
        readonly name: "ValidatorContractUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "WaitingSecsToRevokeUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "secs";
        }];
    }, {
        readonly type: "fallback";
        readonly stateMutability: "payable";
    }, {
        readonly name: "DEFAULT_ADDITION_GAS";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "PERIOD_DURATION";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "applyValidatorCandidate";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_candidateAdmin";
        }, {
            readonly type: "address";
            readonly name: "_consensusAddr";
        }, {
            readonly type: "address";
            readonly name: "_treasuryAddr";
        }, {
            readonly type: "address";
            readonly name: "_bridgeOperatorAddr";
        }, {
            readonly type: "uint256";
            readonly name: "_commissionRate";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "bulkUndelegate";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_consensusAddrs";
        }, {
            readonly type: "uint256[]";
            readonly name: "_amounts";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "claimRewards";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_consensusAddrList";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "_amount";
        }];
    }, {
        readonly name: "cooldownSecsToUndelegate";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "delegate";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "delegateRewards";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_consensusAddrList";
        }, {
            readonly type: "address";
            readonly name: "_consensusAddrDst";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "_amount";
        }];
    }, {
        readonly name: "execDeductStakingAmount";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }, {
            readonly type: "uint256";
            readonly name: "_amount";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "_actualDeductingAmount";
        }];
    }, {
        readonly name: "execDeprecatePools";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_pools";
        }, {
            readonly type: "uint256";
            readonly name: "_newPeriod";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "execRecordRewards";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_consensusAddrs";
        }, {
            readonly type: "uint256[]";
            readonly name: "_rewards";
        }, {
            readonly type: "uint256";
            readonly name: "_period";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "getCommissionRateRange";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }, {
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getManySelfStakings";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_pools";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "_selfStakings";
        }];
    }, {
        readonly name: "getManyStakingAmounts";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_poolAddrs";
        }, {
            readonly type: "address[]";
            readonly name: "_userList";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "_stakingAmounts";
        }];
    }, {
        readonly name: "getManyStakingTotals";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_poolList";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "_stakingAmounts";
        }];
    }, {
        readonly name: "getPoolAddressOf";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_poolAdminAddr";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getPoolDetail";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_poolAddr";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "_admin";
        }, {
            readonly type: "uint256";
            readonly name: "_stakingAmount";
        }, {
            readonly type: "uint256";
            readonly name: "_stakingTotal";
        }];
    }, {
        readonly name: "getReward";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_poolAddr";
        }, {
            readonly type: "address";
            readonly name: "_user";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getRewards";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_user";
        }, {
            readonly type: "address[]";
            readonly name: "_poolAddrList";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "_rewards";
        }];
    }, {
        readonly name: "getStakingAmount";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_poolAddr";
        }, {
            readonly type: "address";
            readonly name: "_user";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getStakingTotal";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_poolAddr";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "initialize";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "__validatorContract";
        }, {
            readonly type: "uint256";
            readonly name: "__minValidatorStakingAmount";
        }, {
            readonly type: "uint256";
            readonly name: "__maxCommissionRate";
        }, {
            readonly type: "uint256";
            readonly name: "__cooldownSecsToUndelegate";
        }, {
            readonly type: "uint256";
            readonly name: "__waitingSecsToRevoke";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "isAdminOfActivePool";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_poolAdminAddr";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "minValidatorStakingAmount";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "redelegate";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddrSrc";
        }, {
            readonly type: "address";
            readonly name: "_consensusAddrDst";
        }, {
            readonly type: "uint256";
            readonly name: "_amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "requestEmergencyExit";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "requestRenounce";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "requestUpdateCommissionRate";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }, {
            readonly type: "uint256";
            readonly name: "_effectiveDaysOnwards";
        }, {
            readonly type: "uint256";
            readonly name: "_commissionRate";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setCommissionRateRange";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_minRate";
        }, {
            readonly type: "uint256";
            readonly name: "_maxRate";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setCooldownSecsToUndelegate";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_cooldownSecs";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setMinValidatorStakingAmount";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_threshold";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setValidatorContract";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_addr";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setWaitingSecsToRevoke";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_secs";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "stake";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "undelegate";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }, {
            readonly type: "uint256";
            readonly name: "_amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "unstake";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_consensusAddr";
        }, {
            readonly type: "uint256";
            readonly name: "_amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "validatorContract";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "waitingSecsToRevoke";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly type: "receive";
        readonly stateMutability: "payable";
    }];
};

export { contract as default };
