declare const abi: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "_genesisForkVersion";
        readonly type: "bytes4";
    }, {
        readonly internalType: "GIndex";
        readonly name: "_gIFirstValidator";
        readonly type: "bytes32";
    }, {
        readonly internalType: "GIndex";
        readonly name: "_gIFirstValidatorAfterChange";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint64";
        readonly name: "_pivotSlot";
        readonly type: "uint64";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly inputs: readonly [];
    readonly name: "AccessControlBadConfirmation";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "neededRole";
        readonly type: "bytes32";
    }];
    readonly name: "AccessControlUnauthorizedAccount";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ArrayLengthsNotMatch";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "CompensateFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "EmptyDeposits";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "IndexOutOfRange";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InputHasInfinityPoints";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidDepositYLength";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidInitialization";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidPubkeyLength";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidSignature";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidSlot";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "InvalidTopUpAmount";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly internalType: "enum IPredepositGuarantee.ValidatorStage";
        readonly name: "stage";
        readonly type: "uint8";
    }];
    readonly name: "InvalidValidatorStage";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "locked";
        readonly type: "uint256";
    }];
    readonly name: "LockedIsNotZero";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NotDepositor";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "unlocked";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "NotEnoughUnlocked";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NotGuarantor";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NotInitializing";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NotStakingVaultOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NothingToRefund";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "PauseUntilMustBeInFuture";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "PausedExpected";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly internalType: "uint256";
        readonly name: "depositAmount";
        readonly type: "uint256";
    }];
    readonly name: "PredepositAmountInvalid";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "RefundFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ResumedExpected";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "RootNotFound";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "SameDepositor";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "SameGuarantor";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly internalType: "enum IPredepositGuarantee.ValidatorStage";
        readonly name: "stage";
        readonly type: "uint8";
    }];
    readonly name: "ValidatorNotActivated";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }];
    readonly name: "ValidatorNotEligibleForActivation";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly internalType: "enum IPredepositGuarantee.ValidatorStage";
        readonly name: "stage";
        readonly type: "uint8";
    }];
    readonly name: "ValidatorNotNew";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly internalType: "enum IPredepositGuarantee.ValidatorStage";
        readonly name: "stage";
        readonly type: "uint8";
    }];
    readonly name: "ValidatorNotPreDeposited";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly internalType: "enum IPredepositGuarantee.ValidatorStage";
        readonly name: "stage";
        readonly type: "uint8";
    }];
    readonly name: "ValidatorNotProven";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "value";
        readonly type: "uint256";
    }];
    readonly name: "ValueNotMultipleOfPredepositAmount";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint8";
        readonly name: "version";
        readonly type: "uint8";
    }];
    readonly name: "WithdrawalCredentialsInvalidVersion";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "WithdrawalCredentialsMatch";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "withdrawalCredentials";
        readonly type: "bytes32";
    }];
    readonly name: "WithdrawalCredentialsMisformed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "stakingVault";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "withdrawalCredentialsAddress";
        readonly type: "address";
    }];
    readonly name: "WithdrawalCredentialsMismatch";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "WithdrawalFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "argument";
        readonly type: "string";
    }];
    readonly name: "ZeroArgument";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ZeroPauseDuration";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint128";
        readonly name: "total";
        readonly type: "uint128";
    }, {
        readonly indexed: false;
        readonly internalType: "uint128";
        readonly name: "locked";
        readonly type: "uint128";
    }];
    readonly name: "BalanceLocked";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }];
    readonly name: "BalanceRefunded";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "BalanceToppedUp";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint128";
        readonly name: "total";
        readonly type: "uint128";
    }, {
        readonly indexed: false;
        readonly internalType: "uint128";
        readonly name: "locked";
        readonly type: "uint128";
    }];
    readonly name: "BalanceUnlocked";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "recipient";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "BalanceWithdrawn";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newDepositor";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "prevDepositor";
        readonly type: "address";
    }];
    readonly name: "DepositorSet";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "guarantor";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "GuarantorRefundAdded";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "guarantor";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "recipient";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "GuarantorRefundClaimed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newGuarantor";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "prevGuarantor";
        readonly type: "address";
    }];
    readonly name: "GuarantorSet";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "version";
        readonly type: "uint64";
    }];
    readonly name: "Initialized";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "Paused";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "Resumed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "previousAdminRole";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "newAdminRole";
        readonly type: "bytes32";
    }];
    readonly name: "RoleAdminChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }];
    readonly name: "RoleGranted";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }];
    readonly name: "RoleRevoked";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "stakingVault";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "withdrawalCredentials";
        readonly type: "bytes32";
    }];
    readonly name: "ValidatorActivated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "stakingVault";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "guaranteeTotal";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "guaranteeLocked";
        readonly type: "uint256";
    }];
    readonly name: "ValidatorCompensated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "stakingVault";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "withdrawalCredentials";
        readonly type: "bytes32";
    }];
    readonly name: "ValidatorPreDeposited";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes";
        readonly name: "validatorPubkey";
        readonly type: "bytes";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "nodeOperator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "stakingVault";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "withdrawalCredentials";
        readonly type: "bytes32";
    }];
    readonly name: "ValidatorProven";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "ACTIVATION_DEPOSIT_AMOUNT";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "BEACON_ROOTS";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "DEFAULT_ADMIN_ROLE";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "DEPOSIT_DOMAIN";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "GI_FIRST_VALIDATOR_CURR";
    readonly outputs: readonly [{
        readonly internalType: "GIndex";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "GI_FIRST_VALIDATOR_PREV";
    readonly outputs: readonly [{
        readonly internalType: "GIndex";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "GI_PUBKEY_WC_PARENT";
    readonly outputs: readonly [{
        readonly internalType: "GIndex";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "GI_STATE_ROOT";
    readonly outputs: readonly [{
        readonly internalType: "GIndex";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MAX_SUPPORTED_WC_VERSION";
    readonly outputs: readonly [{
        readonly internalType: "uint8";
        readonly name: "";
        readonly type: "uint8";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MAX_TOPUP_AMOUNT";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MIN_SUPPORTED_WC_VERSION";
    readonly outputs: readonly [{
        readonly internalType: "uint8";
        readonly name: "";
        readonly type: "uint8";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "PAUSE_INFINITELY";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "PAUSE_ROLE";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "PIVOT_SLOT";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "PREDEPOSIT_AMOUNT";
    readonly outputs: readonly [{
        readonly internalType: "uint128";
        readonly name: "";
        readonly type: "uint128";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "RESUME_ROLE";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "_pubkey";
        readonly type: "bytes";
    }];
    readonly name: "activateValidator";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_recipient";
        readonly type: "address";
    }];
    readonly name: "claimGuarantorRefund";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "claimedEther";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_guarantor";
        readonly type: "address";
    }];
    readonly name: "claimableRefund";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getResumeSinceTimestamp";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }];
    readonly name: "getRoleAdmin";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "index";
        readonly type: "uint256";
    }];
    readonly name: "getRoleMember";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }];
    readonly name: "getRoleMemberCount";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }];
    readonly name: "getRoleMembers";
    readonly outputs: readonly [{
        readonly internalType: "address[]";
        readonly name: "";
        readonly type: "address[]";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "grantRole";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "hasRole";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_defaultAdmin";
        readonly type: "address";
    }];
    readonly name: "initialize";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isPaused";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_nodeOperator";
        readonly type: "address";
    }];
    readonly name: "nodeOperatorBalance";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "uint128";
            readonly name: "total";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "locked";
            readonly type: "uint128";
        }];
        readonly internalType: "struct PredepositGuarantee.NodeOperatorBalance";
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_nodeOperator";
        readonly type: "address";
    }];
    readonly name: "nodeOperatorDepositor";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_nodeOperator";
        readonly type: "address";
    }];
    readonly name: "nodeOperatorGuarantor";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_duration";
        readonly type: "uint256";
    }];
    readonly name: "pauseFor";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_pauseUntilInclusive";
        readonly type: "uint256";
    }];
    readonly name: "pauseUntil";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract IStakingVault";
        readonly name: "_vault";
        readonly type: "address";
    }];
    readonly name: "pendingActivations";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract IStakingVault";
        readonly name: "_stakingVault";
        readonly type: "address";
    }, {
        readonly components: readonly [{
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "depositDataRoot";
            readonly type: "bytes32";
        }];
        readonly internalType: "struct IStakingVault.Deposit[]";
        readonly name: "_deposits";
        readonly type: "tuple[]";
    }, {
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "a";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "b";
                readonly type: "bytes32";
            }];
            readonly internalType: "struct BLS12_381.Fp";
            readonly name: "pubkeyY";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "c0_a";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "c0_b";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "c1_a";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "c1_b";
                readonly type: "bytes32";
            }];
            readonly internalType: "struct BLS12_381.Fp2";
            readonly name: "signatureY";
            readonly type: "tuple";
        }];
        readonly internalType: "struct BLS12_381.DepositY[]";
        readonly name: "_depositsY";
        readonly type: "tuple[]";
    }];
    readonly name: "predeposit";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "proof";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "validatorIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint64";
            readonly name: "childBlockTimestamp";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "slot";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "proposerIndex";
            readonly type: "uint64";
        }];
        readonly internalType: "struct IPredepositGuarantee.ValidatorWitness";
        readonly name: "_witness";
        readonly type: "tuple";
    }, {
        readonly internalType: "bytes32";
        readonly name: "_invalidWithdrawalCredentials";
        readonly type: "bytes32";
    }];
    readonly name: "proveInvalidValidatorWC";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "proof";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "validatorIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint64";
            readonly name: "childBlockTimestamp";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "slot";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "proposerIndex";
            readonly type: "uint64";
        }];
        readonly internalType: "struct IPredepositGuarantee.ValidatorWitness";
        readonly name: "_witness";
        readonly type: "tuple";
    }, {
        readonly internalType: "contract IStakingVault";
        readonly name: "_stakingVault";
        readonly type: "address";
    }];
    readonly name: "proveUnknownValidator";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "proof";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "validatorIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint64";
            readonly name: "childBlockTimestamp";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "slot";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "proposerIndex";
            readonly type: "uint64";
        }];
        readonly internalType: "struct IPredepositGuarantee.ValidatorWitness[]";
        readonly name: "_witnesses";
        readonly type: "tuple[]";
    }, {
        readonly internalType: "uint256[]";
        readonly name: "_amounts";
        readonly type: "uint256[]";
    }];
    readonly name: "proveWCActivateAndTopUpValidators";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "proof";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "validatorIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint64";
            readonly name: "childBlockTimestamp";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "slot";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "proposerIndex";
            readonly type: "uint64";
        }];
        readonly internalType: "struct IPredepositGuarantee.ValidatorWitness";
        readonly name: "_witness";
        readonly type: "tuple";
    }];
    readonly name: "proveWCAndActivate";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "callerConfirmation";
        readonly type: "address";
    }];
    readonly name: "renounceRole";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "resume";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "role";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "revokeRole";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_newDepositor";
        readonly type: "address";
    }];
    readonly name: "setNodeOperatorDepositor";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_newGuarantor";
        readonly type: "address";
    }];
    readonly name: "setNodeOperatorGuarantor";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceId";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct PredepositGuarantee.ValidatorTopUp[]";
        readonly name: "_topUps";
        readonly type: "tuple[]";
    }];
    readonly name: "topUpExistingValidators";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_nodeOperator";
        readonly type: "address";
    }];
    readonly name: "topUpNodeOperatorBalance";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_nodeOperator";
        readonly type: "address";
    }];
    readonly name: "unlockedBalance";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "unlocked";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "proof";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "validatorIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint64";
            readonly name: "childBlockTimestamp";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "slot";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "proposerIndex";
            readonly type: "uint64";
        }];
        readonly internalType: "struct IPredepositGuarantee.ValidatorWitness";
        readonly name: "_witness";
        readonly type: "tuple";
    }, {
        readonly internalType: "bytes32";
        readonly name: "_withdrawalCredentials";
        readonly type: "bytes32";
    }];
    readonly name: "validatePubKeyWCProof";
    readonly outputs: readonly [];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "_validatorPubkey";
        readonly type: "bytes";
    }];
    readonly name: "validatorStatus";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "enum IPredepositGuarantee.ValidatorStage";
            readonly name: "stage";
            readonly type: "uint8";
        }, {
            readonly internalType: "contract IStakingVault";
            readonly name: "stakingVault";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "nodeOperator";
            readonly type: "address";
        }];
        readonly internalType: "struct IPredepositGuarantee.ValidatorStatus";
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes";
            readonly name: "pubkey";
            readonly type: "bytes";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "depositDataRoot";
            readonly type: "bytes32";
        }];
        readonly internalType: "struct IStakingVault.Deposit";
        readonly name: "_deposit";
        readonly type: "tuple";
    }, {
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "a";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "b";
                readonly type: "bytes32";
            }];
            readonly internalType: "struct BLS12_381.Fp";
            readonly name: "pubkeyY";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "c0_a";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "c0_b";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "c1_a";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "c1_b";
                readonly type: "bytes32";
            }];
            readonly internalType: "struct BLS12_381.Fp2";
            readonly name: "signatureY";
            readonly type: "tuple";
        }];
        readonly internalType: "struct BLS12_381.DepositY";
        readonly name: "_depositsY";
        readonly type: "tuple";
    }, {
        readonly internalType: "bytes32";
        readonly name: "_withdrawalCredentials";
        readonly type: "bytes32";
    }];
    readonly name: "verifyDepositMessage";
    readonly outputs: readonly [];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_nodeOperator";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_recipient";
        readonly type: "address";
    }];
    readonly name: "withdrawNodeOperatorBalance";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];
export type PredepositGuaranteeAbiType = typeof abi;
export declare const PredepositGuaranteeAbi: PredepositGuaranteeAbiType;
export {};
//# sourceMappingURL=PredepositGuarantee.d.ts.map