import type { ApiTypes } from '@polkadot/api-base/types';
import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, i128, u128, u32, u64, u8 } from '@polkadot/types-codec';
import type { ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, H256 } from '@polkadot/types/interfaces/runtime';
import type { BitcoinAddress, BitcoinAddressPublicKey, BitcoinH256Le, DemocracyVoteThreshold, FrameSupportScheduleLookupError, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesOracleKey, InterbtcPrimitivesRedeemRedeemRequestStatus, InterbtcPrimitivesVaultCurrencyPair, InterbtcPrimitivesVaultId, OrmlAssetRegistryAssetMetadata, OrmlVestingVestingSchedule, PalletMultisigTimepoint, SecurityErrorCode, SecurityStatusCode, SpRuntimeDispatchError, VaultRegistryVaultStatus, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetMultiAssets, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
declare module '@polkadot/api-base/types/events' {
    interface AugmentedEvents<ApiType extends ApiTypes> {
        assetRegistry: {
            RegisteredAsset: AugmentedEvent<ApiType, [assetId: u32, metadata: OrmlAssetRegistryAssetMetadata], {
                assetId: u32;
                metadata: OrmlAssetRegistryAssetMetadata;
            }>;
            SetLocation: AugmentedEvent<ApiType, [assetId: u32, location: XcmVersionedMultiLocation], {
                assetId: u32;
                location: XcmVersionedMultiLocation;
            }>;
            UpdatedAsset: AugmentedEvent<ApiType, [assetId: u32, metadata: OrmlAssetRegistryAssetMetadata], {
                assetId: u32;
                metadata: OrmlAssetRegistryAssetMetadata;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        btcRelay: {
            ChainReorg: AugmentedEvent<ApiType, [newChainTipHash: BitcoinH256Le, newChainTipHeight: u32, forkDepth: u32], {
                newChainTipHash: BitcoinH256Le;
                newChainTipHeight: u32;
                forkDepth: u32;
            }>;
            ForkAheadOfMainChain: AugmentedEvent<ApiType, [mainChainHeight: u32, forkHeight: u32, forkId: u32], {
                mainChainHeight: u32;
                forkHeight: u32;
                forkId: u32;
            }>;
            Initialized: AugmentedEvent<ApiType, [blockHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32], {
                blockHeight: u32;
                blockHash: BitcoinH256Le;
                relayerId: AccountId32;
            }>;
            StoreForkHeader: AugmentedEvent<ApiType, [chainId: u32, forkHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32], {
                chainId: u32;
                forkHeight: u32;
                blockHash: BitcoinH256Le;
                relayerId: AccountId32;
            }>;
            StoreMainChainHeader: AugmentedEvent<ApiType, [blockHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32], {
                blockHeight: u32;
                blockHash: BitcoinH256Le;
                relayerId: AccountId32;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        collatorSelection: {
            CandidateAdded: AugmentedEvent<ApiType, [AccountId32, u128]>;
            CandidateRemoved: AugmentedEvent<ApiType, [AccountId32]>;
            NewCandidacyBond: AugmentedEvent<ApiType, [u128]>;
            NewDesiredCandidates: AugmentedEvent<ApiType, [u32]>;
            NewInvulnerables: AugmentedEvent<ApiType, [Vec<AccountId32>]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        cumulusXcm: {
            /**
             * Downward message executed with the given outcome.
             * \[ id, outcome \]
             **/
            ExecutedDownward: AugmentedEvent<ApiType, [U8aFixed, XcmV2TraitsOutcome]>;
            /**
             * Downward message is invalid XCM.
             * \[ id \]
             **/
            InvalidFormat: AugmentedEvent<ApiType, [U8aFixed]>;
            /**
             * Downward message is unsupported version of XCM.
             * \[ id \]
             **/
            UnsupportedVersion: AugmentedEvent<ApiType, [U8aFixed]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        democracy: {
            /**
             * A referendum has been cancelled. \[ref_index\]
             **/
            Cancelled: AugmentedEvent<ApiType, [u32]>;
            /**
             * A proposal has been enacted. \[ref_index, result\]
             **/
            Executed: AugmentedEvent<ApiType, [u32, Result<Null, SpRuntimeDispatchError>]>;
            /**
             * A referendum has been fast tracked. \[ref_index\]
             **/
            FastTrack: AugmentedEvent<ApiType, [u32]>;
            /**
             * A proposal has been rejected by referendum. \[ref_index\]
             **/
            NotPassed: AugmentedEvent<ApiType, [u32]>;
            /**
             * A proposal has been approved by referendum. \[ref_index\]
             **/
            Passed: AugmentedEvent<ApiType, [u32]>;
            /**
             * A proposal could not be executed because its preimage was invalid.
             * \[proposal_hash, ref_index\]
             **/
            PreimageInvalid: AugmentedEvent<ApiType, [H256, u32]>;
            /**
             * A proposal could not be executed because its preimage was missing.
             * \[proposal_hash, ref_index\]
             **/
            PreimageMissing: AugmentedEvent<ApiType, [H256, u32]>;
            /**
             * A proposal's preimage was noted, and the deposit taken. \[proposal_hash, who, deposit\]
             **/
            PreimageNoted: AugmentedEvent<ApiType, [H256, AccountId32, u128]>;
            /**
             * A registered preimage was removed and the deposit collected by the reaper.
             * \[proposal_hash, provider, deposit, reaper\]
             **/
            PreimageReaped: AugmentedEvent<ApiType, [H256, AccountId32, u128, AccountId32]>;
            /**
             * A proposal preimage was removed and used (the deposit was returned).
             * \[proposal_hash, provider, deposit\]
             **/
            PreimageUsed: AugmentedEvent<ApiType, [H256, AccountId32, u128]>;
            /**
             * A motion has been proposed by a public account. \[proposal_index, deposit\]
             **/
            Proposed: AugmentedEvent<ApiType, [u32, u128]>;
            /**
             * A referendum has begun. \[ref_index, threshold\]
             **/
            Started: AugmentedEvent<ApiType, [u32, DemocracyVoteThreshold]>;
            /**
             * A public proposal has been tabled for referendum vote. \[proposal_index, deposit,
             * depositors\]
             **/
            Tabled: AugmentedEvent<ApiType, [u32, u128, Vec<AccountId32>]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        dmpQueue: {
            /**
             * Downward message executed with the given outcome.
             * \[ id, outcome \]
             **/
            ExecutedDownward: AugmentedEvent<ApiType, [U8aFixed, XcmV2TraitsOutcome]>;
            /**
             * Downward message is invalid XCM.
             * \[ id \]
             **/
            InvalidFormat: AugmentedEvent<ApiType, [U8aFixed]>;
            /**
             * Downward message is overweight and was placed in the overweight queue.
             * \[ id, index, required \]
             **/
            OverweightEnqueued: AugmentedEvent<ApiType, [U8aFixed, u64, u64]>;
            /**
             * Downward message from the overweight queue was executed.
             * \[ index, used \]
             **/
            OverweightServiced: AugmentedEvent<ApiType, [u64, u64]>;
            /**
             * Downward message is unsupported version of XCM.
             * \[ id \]
             **/
            UnsupportedVersion: AugmentedEvent<ApiType, [U8aFixed]>;
            /**
             * The weight limit for handling downward messages was reached.
             * \[ id, remaining, required \]
             **/
            WeightExhausted: AugmentedEvent<ApiType, [U8aFixed, u64, u64]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        escrow: {
            Deposit: AugmentedEvent<ApiType, [who: AccountId32, amount: u128, unlockHeight: u32], {
                who: AccountId32;
                amount: u128;
                unlockHeight: u32;
            }>;
            Withdraw: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], {
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        escrowAnnuity: {
            BlockReward: AugmentedEvent<ApiType, [u128]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        escrowRewards: {
            DepositStake: AugmentedEvent<ApiType, [rewardId: AccountId32, amount: i128], {
                rewardId: AccountId32;
                amount: i128;
            }>;
            DistributeReward: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, amount: i128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                amount: i128;
            }>;
            WithdrawReward: AugmentedEvent<ApiType, [rewardId: AccountId32, currencyId: InterbtcPrimitivesCurrencyId, amount: i128], {
                rewardId: AccountId32;
                currencyId: InterbtcPrimitivesCurrencyId;
                amount: i128;
            }>;
            WithdrawStake: AugmentedEvent<ApiType, [rewardId: AccountId32, amount: i128], {
                rewardId: AccountId32;
                amount: i128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        identity: {
            /**
             * A name was cleared, and the given balance returned.
             **/
            IdentityCleared: AugmentedEvent<ApiType, [who: AccountId32, deposit: u128], {
                who: AccountId32;
                deposit: u128;
            }>;
            /**
             * A name was removed and the given balance slashed.
             **/
            IdentityKilled: AugmentedEvent<ApiType, [who: AccountId32, deposit: u128], {
                who: AccountId32;
                deposit: u128;
            }>;
            /**
             * A name was set or reset (which will remove all judgements).
             **/
            IdentitySet: AugmentedEvent<ApiType, [who: AccountId32], {
                who: AccountId32;
            }>;
            /**
             * A judgement was given by a registrar.
             **/
            JudgementGiven: AugmentedEvent<ApiType, [target: AccountId32, registrarIndex: u32], {
                target: AccountId32;
                registrarIndex: u32;
            }>;
            /**
             * A judgement was asked from a registrar.
             **/
            JudgementRequested: AugmentedEvent<ApiType, [who: AccountId32, registrarIndex: u32], {
                who: AccountId32;
                registrarIndex: u32;
            }>;
            /**
             * A judgement request was retracted.
             **/
            JudgementUnrequested: AugmentedEvent<ApiType, [who: AccountId32, registrarIndex: u32], {
                who: AccountId32;
                registrarIndex: u32;
            }>;
            /**
             * A registrar was added.
             **/
            RegistrarAdded: AugmentedEvent<ApiType, [registrarIndex: u32], {
                registrarIndex: u32;
            }>;
            /**
             * A sub-identity was added to an identity and the deposit paid.
             **/
            SubIdentityAdded: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], {
                sub: AccountId32;
                main: AccountId32;
                deposit: u128;
            }>;
            /**
             * A sub-identity was removed from an identity and the deposit freed.
             **/
            SubIdentityRemoved: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], {
                sub: AccountId32;
                main: AccountId32;
                deposit: u128;
            }>;
            /**
             * A sub-identity was cleared, and the given deposit repatriated from the
             * main identity account to the sub-identity account.
             **/
            SubIdentityRevoked: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], {
                sub: AccountId32;
                main: AccountId32;
                deposit: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        issue: {
            CancelIssue: AugmentedEvent<ApiType, [issueId: H256, requester: AccountId32, griefingCollateral: u128], {
                issueId: H256;
                requester: AccountId32;
                griefingCollateral: u128;
            }>;
            ExecuteIssue: AugmentedEvent<ApiType, [issueId: H256, requester: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128], {
                issueId: H256;
                requester: AccountId32;
                vaultId: InterbtcPrimitivesVaultId;
                amount: u128;
                fee: u128;
            }>;
            IssueAmountChange: AugmentedEvent<ApiType, [issueId: H256, amount: u128, fee: u128, confiscatedGriefingCollateral: u128], {
                issueId: H256;
                amount: u128;
                fee: u128;
                confiscatedGriefingCollateral: u128;
            }>;
            IssuePeriodChange: AugmentedEvent<ApiType, [period: u32], {
                period: u32;
            }>;
            RequestIssue: AugmentedEvent<ApiType, [issueId: H256, requester: AccountId32, amount: u128, fee: u128, griefingCollateral: u128, vaultId: InterbtcPrimitivesVaultId, vaultAddress: BitcoinAddress, vaultPublicKey: BitcoinAddressPublicKey], {
                issueId: H256;
                requester: AccountId32;
                amount: u128;
                fee: u128;
                griefingCollateral: u128;
                vaultId: InterbtcPrimitivesVaultId;
                vaultAddress: BitcoinAddress;
                vaultPublicKey: BitcoinAddressPublicKey;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        multisig: {
            /**
             * A multisig operation has been approved by someone.
             **/
            MultisigApproval: AugmentedEvent<ApiType, [approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed], {
                approving: AccountId32;
                timepoint: PalletMultisigTimepoint;
                multisig: AccountId32;
                callHash: U8aFixed;
            }>;
            /**
             * A multisig operation has been cancelled.
             **/
            MultisigCancelled: AugmentedEvent<ApiType, [cancelling: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed], {
                cancelling: AccountId32;
                timepoint: PalletMultisigTimepoint;
                multisig: AccountId32;
                callHash: U8aFixed;
            }>;
            /**
             * A multisig operation has been executed.
             **/
            MultisigExecuted: AugmentedEvent<ApiType, [approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed, result: Result<Null, SpRuntimeDispatchError>], {
                approving: AccountId32;
                timepoint: PalletMultisigTimepoint;
                multisig: AccountId32;
                callHash: U8aFixed;
                result: Result<Null, SpRuntimeDispatchError>;
            }>;
            /**
             * A new multisig operation has begun.
             **/
            NewMultisig: AugmentedEvent<ApiType, [approving: AccountId32, multisig: AccountId32, callHash: U8aFixed], {
                approving: AccountId32;
                multisig: AccountId32;
                callHash: U8aFixed;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        nomination: {
            DepositCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                nominatorId: AccountId32;
                amount: u128;
            }>;
            NominationOptIn: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId], {
                vaultId: InterbtcPrimitivesVaultId;
            }>;
            NominationOptOut: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId], {
                vaultId: InterbtcPrimitivesVaultId;
            }>;
            WithdrawCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                nominatorId: AccountId32;
                amount: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        oracle: {
            /**
             * Event emitted when exchange rate is set
             **/
            FeedValues: AugmentedEvent<ApiType, [oracleId: AccountId32, values: Vec<ITuple<[InterbtcPrimitivesOracleKey, u128]>>], {
                oracleId: AccountId32;
                values: Vec<ITuple<[InterbtcPrimitivesOracleKey, u128]>>;
            }>;
            OracleAdded: AugmentedEvent<ApiType, [oracleId: AccountId32, name: Bytes], {
                oracleId: AccountId32;
                name: Bytes;
            }>;
            OracleRemoved: AugmentedEvent<ApiType, [oracleId: AccountId32], {
                oracleId: AccountId32;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        parachainSystem: {
            /**
             * Downward messages were processed using the given weight.
             * \[ weight_used, result_mqc_head \]
             **/
            DownwardMessagesProcessed: AugmentedEvent<ApiType, [u64, H256]>;
            /**
             * Some downward messages have been received and will be processed.
             * \[ count \]
             **/
            DownwardMessagesReceived: AugmentedEvent<ApiType, [u32]>;
            /**
             * An upgrade has been authorized.
             **/
            UpgradeAuthorized: AugmentedEvent<ApiType, [H256]>;
            /**
             * The validation function was applied as of the contained relay chain block number.
             **/
            ValidationFunctionApplied: AugmentedEvent<ApiType, [u32]>;
            /**
             * The relay-chain aborted the upgrade process.
             **/
            ValidationFunctionDiscarded: AugmentedEvent<ApiType, []>;
            /**
             * The validation function has been scheduled to apply.
             **/
            ValidationFunctionStored: AugmentedEvent<ApiType, []>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        polkadotXcm: {
            /**
             * Some assets have been placed in an asset trap.
             *
             * \[ hash, origin, assets \]
             **/
            AssetsTrapped: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
            /**
             * Execution of an XCM message was attempted.
             *
             * \[ outcome \]
             **/
            Attempted: AugmentedEvent<ApiType, [XcmV2TraitsOutcome]>;
            /**
             * Expected query response has been received but the origin location of the response does
             * not match that expected. The query remains registered for a later, valid, response to
             * be received and acted upon.
             *
             * \[ origin location, id, expected location \]
             **/
            InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
            /**
             * Expected query response has been received but the expected origin location placed in
             * storage by this runtime previously cannot be decoded. The query remains registered.
             *
             * This is unexpected (since a location placed in storage in a previously executing
             * runtime should be readable prior to query timeout) and dangerous since the possibly
             * valid response will be dropped. Manual governance intervention is probably going to be
             * needed.
             *
             * \[ origin location, id \]
             **/
            InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
            /**
             * Query response has been received and query is removed. The registered notification has
             * been dispatched and executed successfully.
             *
             * \[ id, pallet index, call index \]
             **/
            Notified: AugmentedEvent<ApiType, [u64, u8, u8]>;
            /**
             * Query response has been received and query is removed. The dispatch was unable to be
             * decoded into a `Call`; this might be due to dispatch function having a signature which
             * is not `(origin, QueryId, Response)`.
             *
             * \[ id, pallet index, call index \]
             **/
            NotifyDecodeFailed: AugmentedEvent<ApiType, [u64, u8, u8]>;
            /**
             * Query response has been received and query is removed. There was a general error with
             * dispatching the notification call.
             *
             * \[ id, pallet index, call index \]
             **/
            NotifyDispatchError: AugmentedEvent<ApiType, [u64, u8, u8]>;
            /**
             * Query response has been received and query is removed. The registered notification could
             * not be dispatched because the dispatch weight is greater than the maximum weight
             * originally budgeted by this runtime for the query result.
             *
             * \[ id, pallet index, call index, actual weight, max budgeted weight \]
             **/
            NotifyOverweight: AugmentedEvent<ApiType, [u64, u8, u8, u64, u64]>;
            /**
             * A given location which had a version change subscription was dropped owing to an error
             * migrating the location to our new XCM format.
             *
             * \[ location, query ID \]
             **/
            NotifyTargetMigrationFail: AugmentedEvent<ApiType, [XcmVersionedMultiLocation, u64]>;
            /**
             * A given location which had a version change subscription was dropped owing to an error
             * sending the notification to it.
             *
             * \[ location, query ID, error \]
             **/
            NotifyTargetSendFail: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, XcmV2TraitsError]>;
            /**
             * Query response has been received and is ready for taking with `take_response`. There is
             * no registered notification call.
             *
             * \[ id, response \]
             **/
            ResponseReady: AugmentedEvent<ApiType, [u64, XcmV2Response]>;
            /**
             * Received query response has been read and removed.
             *
             * \[ id \]
             **/
            ResponseTaken: AugmentedEvent<ApiType, [u64]>;
            /**
             * A XCM message was sent.
             *
             * \[ origin, destination, message \]
             **/
            Sent: AugmentedEvent<ApiType, [XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;
            /**
             * The supported version of a location has been changed. This might be through an
             * automatic notification or a manual intervention.
             *
             * \[ location, XCM version \]
             **/
            SupportedVersionChanged: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
            /**
             * Query response received which does not match a registered query. This may be because a
             * matching query was never registered, it may be because it is a duplicate response, or
             * because the query timed out.
             *
             * \[ origin location, id \]
             **/
            UnexpectedResponse: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
            /**
             * An XCM version change notification message has been attempted to be sent.
             *
             * \[ destination, result \]
             **/
            VersionChangeNotified: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        preimage: {
            /**
             * A preimage has ben cleared.
             **/
            Cleared: AugmentedEvent<ApiType, [hash_: H256], {
                hash_: H256;
            }>;
            /**
             * A preimage has been noted.
             **/
            Noted: AugmentedEvent<ApiType, [hash_: H256], {
                hash_: H256;
            }>;
            /**
             * A preimage has been requested.
             **/
            Requested: AugmentedEvent<ApiType, [hash_: H256], {
                hash_: H256;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        redeem: {
            CancelRedeem: AugmentedEvent<ApiType, [redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, slashedAmount: u128, status: InterbtcPrimitivesRedeemRedeemRequestStatus], {
                redeemId: H256;
                redeemer: AccountId32;
                vaultId: InterbtcPrimitivesVaultId;
                slashedAmount: u128;
                status: InterbtcPrimitivesRedeemRedeemRequestStatus;
            }>;
            ExecuteRedeem: AugmentedEvent<ApiType, [redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128, transferFee: u128], {
                redeemId: H256;
                redeemer: AccountId32;
                vaultId: InterbtcPrimitivesVaultId;
                amount: u128;
                fee: u128;
                transferFee: u128;
            }>;
            LiquidationRedeem: AugmentedEvent<ApiType, [redeemer: AccountId32, amount: u128], {
                redeemer: AccountId32;
                amount: u128;
            }>;
            MintTokensForReimbursedRedeem: AugmentedEvent<ApiType, [redeemId: H256, vaultId: InterbtcPrimitivesVaultId, amount: u128], {
                redeemId: H256;
                vaultId: InterbtcPrimitivesVaultId;
                amount: u128;
            }>;
            RedeemPeriodChange: AugmentedEvent<ApiType, [period: u32], {
                period: u32;
            }>;
            RequestRedeem: AugmentedEvent<ApiType, [redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128, premium: u128, btcAddress: BitcoinAddress, transferFee: u128], {
                redeemId: H256;
                redeemer: AccountId32;
                vaultId: InterbtcPrimitivesVaultId;
                amount: u128;
                fee: u128;
                premium: u128;
                btcAddress: BitcoinAddress;
                transferFee: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        refund: {
            ExecuteRefund: AugmentedEvent<ApiType, [refundId: H256, issuer: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128], {
                refundId: H256;
                issuer: AccountId32;
                vaultId: InterbtcPrimitivesVaultId;
                amount: u128;
                fee: u128;
            }>;
            RequestRefund: AugmentedEvent<ApiType, [refundId: H256, issuer: AccountId32, amount: u128, vaultId: InterbtcPrimitivesVaultId, btcAddress: BitcoinAddress, issueId: H256, fee: u128, transferFee: u128], {
                refundId: H256;
                issuer: AccountId32;
                amount: u128;
                vaultId: InterbtcPrimitivesVaultId;
                btcAddress: BitcoinAddress;
                issueId: H256;
                fee: u128;
                transferFee: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        relay: {
            VaultDoublePayment: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, txId1: BitcoinH256Le, txId2: BitcoinH256Le], {
                vaultId: InterbtcPrimitivesVaultId;
                txId1: BitcoinH256Le;
                txId2: BitcoinH256Le;
            }>;
            VaultTheft: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, txId: BitcoinH256Le], {
                vaultId: InterbtcPrimitivesVaultId;
                txId: BitcoinH256Le;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        replace: {
            AcceptReplace: AugmentedEvent<ApiType, [replaceId: H256, oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId, amount: u128, collateral: u128, btcAddress: BitcoinAddress], {
                replaceId: H256;
                oldVaultId: InterbtcPrimitivesVaultId;
                newVaultId: InterbtcPrimitivesVaultId;
                amount: u128;
                collateral: u128;
                btcAddress: BitcoinAddress;
            }>;
            CancelReplace: AugmentedEvent<ApiType, [replaceId: H256, newVaultId: InterbtcPrimitivesVaultId, oldVaultId: InterbtcPrimitivesVaultId, griefingCollateral: u128], {
                replaceId: H256;
                newVaultId: InterbtcPrimitivesVaultId;
                oldVaultId: InterbtcPrimitivesVaultId;
                griefingCollateral: u128;
            }>;
            ExecuteReplace: AugmentedEvent<ApiType, [replaceId: H256, oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId], {
                replaceId: H256;
                oldVaultId: InterbtcPrimitivesVaultId;
                newVaultId: InterbtcPrimitivesVaultId;
            }>;
            ReplacePeriodChange: AugmentedEvent<ApiType, [period: u32], {
                period: u32;
            }>;
            RequestReplace: AugmentedEvent<ApiType, [oldVaultId: InterbtcPrimitivesVaultId, amount: u128, griefingCollateral: u128], {
                oldVaultId: InterbtcPrimitivesVaultId;
                amount: u128;
                griefingCollateral: u128;
            }>;
            WithdrawReplace: AugmentedEvent<ApiType, [oldVaultId: InterbtcPrimitivesVaultId, withdrawnTokens: u128, withdrawnGriefingCollateral: u128], {
                oldVaultId: InterbtcPrimitivesVaultId;
                withdrawnTokens: u128;
                withdrawnGriefingCollateral: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        scheduler: {
            /**
             * The call for the provided hash was not found so the task has been aborted.
             **/
            CallLookupFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<Bytes>, error: FrameSupportScheduleLookupError], {
                task: ITuple<[u32, u32]>;
                id: Option<Bytes>;
                error: FrameSupportScheduleLookupError;
            }>;
            /**
             * Canceled some task.
             **/
            Canceled: AugmentedEvent<ApiType, [when: u32, index: u32], {
                when: u32;
                index: u32;
            }>;
            /**
             * Dispatched some task.
             **/
            Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<Bytes>, result: Result<Null, SpRuntimeDispatchError>], {
                task: ITuple<[u32, u32]>;
                id: Option<Bytes>;
                result: Result<Null, SpRuntimeDispatchError>;
            }>;
            /**
             * Scheduled some task.
             **/
            Scheduled: AugmentedEvent<ApiType, [when: u32, index: u32], {
                when: u32;
                index: u32;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        security: {
            RecoverFromErrors: AugmentedEvent<ApiType, [newStatus: SecurityStatusCode, clearedErrors: Vec<SecurityErrorCode>], {
                newStatus: SecurityStatusCode;
                clearedErrors: Vec<SecurityErrorCode>;
            }>;
            UpdateActiveBlock: AugmentedEvent<ApiType, [blockNumber: u32], {
                blockNumber: u32;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        session: {
            /**
             * New session has happened. Note that the argument is the session index, not the
             * block number as the type might suggest.
             **/
            NewSession: AugmentedEvent<ApiType, [sessionIndex: u32], {
                sessionIndex: u32;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        sudo: {
            /**
             * The \[sudoer\] just switched identity; the old key is supplied if one existed.
             **/
            KeyChanged: AugmentedEvent<ApiType, [oldSudoer: Option<AccountId32>], {
                oldSudoer: Option<AccountId32>;
            }>;
            /**
             * A sudo just took place. \[result\]
             **/
            Sudid: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], {
                sudoResult: Result<Null, SpRuntimeDispatchError>;
            }>;
            /**
             * A sudo just took place. \[result\]
             **/
            SudoAsDone: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], {
                sudoResult: Result<Null, SpRuntimeDispatchError>;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        supply: {
            Inflation: AugmentedEvent<ApiType, [totalInflation: u128], {
                totalInflation: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        system: {
            /**
             * `:code` was updated.
             **/
            CodeUpdated: AugmentedEvent<ApiType, []>;
            /**
             * An extrinsic failed.
             **/
            ExtrinsicFailed: AugmentedEvent<ApiType, [dispatchError: SpRuntimeDispatchError, dispatchInfo: FrameSupportWeightsDispatchInfo], {
                dispatchError: SpRuntimeDispatchError;
                dispatchInfo: FrameSupportWeightsDispatchInfo;
            }>;
            /**
             * An extrinsic completed successfully.
             **/
            ExtrinsicSuccess: AugmentedEvent<ApiType, [dispatchInfo: FrameSupportWeightsDispatchInfo], {
                dispatchInfo: FrameSupportWeightsDispatchInfo;
            }>;
            /**
             * An account was reaped.
             **/
            KilledAccount: AugmentedEvent<ApiType, [account: AccountId32], {
                account: AccountId32;
            }>;
            /**
             * A new account was created.
             **/
            NewAccount: AugmentedEvent<ApiType, [account: AccountId32], {
                account: AccountId32;
            }>;
            /**
             * On on-chain remark happened.
             **/
            Remarked: AugmentedEvent<ApiType, [sender: AccountId32, hash_: H256], {
                sender: AccountId32;
                hash_: H256;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        technicalCommittee: {
            /**
             * A motion was approved by the required threshold.
             **/
            Approved: AugmentedEvent<ApiType, [proposalHash: H256], {
                proposalHash: H256;
            }>;
            /**
             * A proposal was closed because its threshold was reached or after its duration was up.
             **/
            Closed: AugmentedEvent<ApiType, [proposalHash: H256, yes: u32, no: u32], {
                proposalHash: H256;
                yes: u32;
                no: u32;
            }>;
            /**
             * A motion was not approved by the required threshold.
             **/
            Disapproved: AugmentedEvent<ApiType, [proposalHash: H256], {
                proposalHash: H256;
            }>;
            /**
             * A motion was executed; result will be `Ok` if it returned without error.
             **/
            Executed: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], {
                proposalHash: H256;
                result: Result<Null, SpRuntimeDispatchError>;
            }>;
            /**
             * A single member did some action; result will be `Ok` if it returned without error.
             **/
            MemberExecuted: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], {
                proposalHash: H256;
                result: Result<Null, SpRuntimeDispatchError>;
            }>;
            /**
             * A motion (given hash) has been proposed (by given account) with a threshold (given
             * `MemberCount`).
             **/
            Proposed: AugmentedEvent<ApiType, [account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32], {
                account: AccountId32;
                proposalIndex: u32;
                proposalHash: H256;
                threshold: u32;
            }>;
            /**
             * A motion (given hash) has been voted on by given account, leaving
             * a tally (yes votes and no votes given respectively as `MemberCount`).
             **/
            Voted: AugmentedEvent<ApiType, [account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32], {
                account: AccountId32;
                proposalHash: H256;
                voted: bool;
                yes: u32;
                no: u32;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        technicalMembership: {
            /**
             * Phantom member, never used.
             **/
            Dummy: AugmentedEvent<ApiType, []>;
            /**
             * One of the members' keys changed.
             **/
            KeyChanged: AugmentedEvent<ApiType, []>;
            /**
             * The given member was added; see the transaction for who.
             **/
            MemberAdded: AugmentedEvent<ApiType, []>;
            /**
             * The given member was removed; see the transaction for who.
             **/
            MemberRemoved: AugmentedEvent<ApiType, []>;
            /**
             * The membership was reset; see the transaction for who the new set is.
             **/
            MembersReset: AugmentedEvent<ApiType, []>;
            /**
             * Two members were swapped; see the transaction for who.
             **/
            MembersSwapped: AugmentedEvent<ApiType, []>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        tokens: {
            /**
             * A balance was set by root.
             **/
            BalanceSet: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, free: u128, reserved: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                free: u128;
                reserved: u128;
            }>;
            /**
             * Deposited some balance into an account
             **/
            Deposited: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * An account was removed whose balance was non-zero but below
             * ExistentialDeposit, resulting in an outright loss.
             **/
            DustLost: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * An account was created with some free balance.
             **/
            Endowed: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * Some locked funds were unlocked
             **/
            LockRemoved: AugmentedEvent<ApiType, [lockId: U8aFixed, currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32], {
                lockId: U8aFixed;
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
            }>;
            /**
             * Some funds are locked
             **/
            LockSet: AugmentedEvent<ApiType, [lockId: U8aFixed, currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], {
                lockId: U8aFixed;
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * Some balance was reserved (moved from free to reserved).
             **/
            Reserved: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * Some reserved balance was repatriated (moved from reserved to
             * another account).
             **/
            ReserveRepatriated: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, from: AccountId32, to: AccountId32, amount: u128, status: FrameSupportTokensMiscBalanceStatus], {
                currencyId: InterbtcPrimitivesCurrencyId;
                from: AccountId32;
                to: AccountId32;
                amount: u128;
                status: FrameSupportTokensMiscBalanceStatus;
            }>;
            /**
             * Some balances were slashed (e.g. due to mis-behavior)
             **/
            Slashed: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, freeAmount: u128, reservedAmount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                freeAmount: u128;
                reservedAmount: u128;
            }>;
            /**
             * The total issuance of an currency has been set
             **/
            TotalIssuanceSet: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                amount: u128;
            }>;
            /**
             * Transfer succeeded.
             **/
            Transfer: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, from: AccountId32, to: AccountId32, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                from: AccountId32;
                to: AccountId32;
                amount: u128;
            }>;
            /**
             * Some balance was unreserved (moved from reserved to free).
             **/
            Unreserved: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * Some balances were withdrawn (e.g. pay for transaction fee)
             **/
            Withdrawn: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        treasury: {
            /**
             * Some funds have been allocated.
             **/
            Awarded: AugmentedEvent<ApiType, [proposalIndex: u32, award: u128, account: AccountId32], {
                proposalIndex: u32;
                award: u128;
                account: AccountId32;
            }>;
            /**
             * Some of our funds have been burnt.
             **/
            Burnt: AugmentedEvent<ApiType, [burntFunds: u128], {
                burntFunds: u128;
            }>;
            /**
             * Some funds have been deposited.
             **/
            Deposit: AugmentedEvent<ApiType, [value: u128], {
                value: u128;
            }>;
            /**
             * New proposal.
             **/
            Proposed: AugmentedEvent<ApiType, [proposalIndex: u32], {
                proposalIndex: u32;
            }>;
            /**
             * A proposal was rejected; funds were slashed.
             **/
            Rejected: AugmentedEvent<ApiType, [proposalIndex: u32, slashed: u128], {
                proposalIndex: u32;
                slashed: u128;
            }>;
            /**
             * Spending has finished; this is the amount that rolls over until next spend.
             **/
            Rollover: AugmentedEvent<ApiType, [rolloverBalance: u128], {
                rolloverBalance: u128;
            }>;
            /**
             * We have ended a spend period and will now allocate funds.
             **/
            Spending: AugmentedEvent<ApiType, [budgetRemaining: u128], {
                budgetRemaining: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        unknownTokens: {
            /**
             * Deposit success.
             **/
            Deposited: AugmentedEvent<ApiType, [asset: XcmV1MultiAsset, who: XcmV1MultiLocation], {
                asset: XcmV1MultiAsset;
                who: XcmV1MultiLocation;
            }>;
            /**
             * Withdraw success.
             **/
            Withdrawn: AugmentedEvent<ApiType, [asset: XcmV1MultiAsset, who: XcmV1MultiLocation], {
                asset: XcmV1MultiAsset;
                who: XcmV1MultiLocation;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        utility: {
            /**
             * Batch of dispatches completed fully with no error.
             **/
            BatchCompleted: AugmentedEvent<ApiType, []>;
            /**
             * Batch of dispatches did not complete fully. Index of first failing dispatch given, as
             * well as the error.
             **/
            BatchInterrupted: AugmentedEvent<ApiType, [index: u32, error: SpRuntimeDispatchError], {
                index: u32;
                error: SpRuntimeDispatchError;
            }>;
            /**
             * A call was dispatched.
             **/
            DispatchedAs: AugmentedEvent<ApiType, [result: Result<Null, SpRuntimeDispatchError>], {
                result: Result<Null, SpRuntimeDispatchError>;
            }>;
            /**
             * A single item within a Batch of dispatches has completed with no error.
             **/
            ItemCompleted: AugmentedEvent<ApiType, []>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        vaultAnnuity: {
            BlockReward: AugmentedEvent<ApiType, [u128]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        vaultRegistry: {
            BanVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, bannedUntil: u32], {
                vaultId: InterbtcPrimitivesVaultId;
                bannedUntil: u32;
            }>;
            DecreaseLockedCollateral: AugmentedEvent<ApiType, [currencyPair: InterbtcPrimitivesVaultCurrencyPair, delta: u128, total: u128], {
                currencyPair: InterbtcPrimitivesVaultCurrencyPair;
                delta: u128;
                total: u128;
            }>;
            DecreaseToBeIssuedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, decrease: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                decrease: u128;
            }>;
            DecreaseToBeRedeemedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, decrease: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                decrease: u128;
            }>;
            DecreaseToBeReplacedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, decrease: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                decrease: u128;
            }>;
            DecreaseTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, userId: AccountId32, decrease: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                userId: AccountId32;
                decrease: u128;
            }>;
            DepositCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, newCollateral: u128, totalCollateral: u128, freeCollateral: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                newCollateral: u128;
                totalCollateral: u128;
                freeCollateral: u128;
            }>;
            IncreaseLockedCollateral: AugmentedEvent<ApiType, [currencyPair: InterbtcPrimitivesVaultCurrencyPair, delta: u128, total: u128], {
                currencyPair: InterbtcPrimitivesVaultCurrencyPair;
                delta: u128;
                total: u128;
            }>;
            IncreaseToBeIssuedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                increase: u128;
            }>;
            IncreaseToBeRedeemedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                increase: u128;
            }>;
            IncreaseToBeReplacedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                increase: u128;
            }>;
            IssueTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                increase: u128;
            }>;
            LiquidateVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, issuedTokens: u128, toBeIssuedTokens: u128, toBeRedeemedTokens: u128, toBeReplacedTokens: u128, backingCollateral: u128, status: VaultRegistryVaultStatus, replaceCollateral: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                issuedTokens: u128;
                toBeIssuedTokens: u128;
                toBeRedeemedTokens: u128;
                toBeReplacedTokens: u128;
                backingCollateral: u128;
                status: VaultRegistryVaultStatus;
                replaceCollateral: u128;
            }>;
            RedeemTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, redeemedAmount: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                redeemedAmount: u128;
            }>;
            RedeemTokensLiquidatedVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, tokens: u128, collateral: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                tokens: u128;
                collateral: u128;
            }>;
            RedeemTokensLiquidation: AugmentedEvent<ApiType, [redeemerId: AccountId32, burnedTokens: u128, transferredCollateral: u128], {
                redeemerId: AccountId32;
                burnedTokens: u128;
                transferredCollateral: u128;
            }>;
            RedeemTokensPremium: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, redeemedAmount: u128, collateral: u128, userId: AccountId32], {
                vaultId: InterbtcPrimitivesVaultId;
                redeemedAmount: u128;
                collateral: u128;
                userId: AccountId32;
            }>;
            RegisterAddress: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, address: BitcoinAddress], {
                vaultId: InterbtcPrimitivesVaultId;
                address: BitcoinAddress;
            }>;
            RegisterVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, collateral: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                collateral: u128;
            }>;
            ReplaceTokens: AugmentedEvent<ApiType, [oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId, amount: u128, additionalCollateral: u128], {
                oldVaultId: InterbtcPrimitivesVaultId;
                newVaultId: InterbtcPrimitivesVaultId;
                amount: u128;
                additionalCollateral: u128;
            }>;
            UpdatePublicKey: AugmentedEvent<ApiType, [accountId: AccountId32, publicKey: BitcoinAddressPublicKey], {
                accountId: AccountId32;
                publicKey: BitcoinAddressPublicKey;
            }>;
            WithdrawCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, withdrawnAmount: u128, totalCollateral: u128], {
                vaultId: InterbtcPrimitivesVaultId;
                withdrawnAmount: u128;
                totalCollateral: u128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        vaultRewards: {
            DepositStake: AugmentedEvent<ApiType, [rewardId: InterbtcPrimitivesVaultId, amount: i128], {
                rewardId: InterbtcPrimitivesVaultId;
                amount: i128;
            }>;
            DistributeReward: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, amount: i128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                amount: i128;
            }>;
            WithdrawReward: AugmentedEvent<ApiType, [rewardId: InterbtcPrimitivesVaultId, currencyId: InterbtcPrimitivesCurrencyId, amount: i128], {
                rewardId: InterbtcPrimitivesVaultId;
                currencyId: InterbtcPrimitivesCurrencyId;
                amount: i128;
            }>;
            WithdrawStake: AugmentedEvent<ApiType, [rewardId: InterbtcPrimitivesVaultId, amount: i128], {
                rewardId: InterbtcPrimitivesVaultId;
                amount: i128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        vaultStaking: {
            DepositStake: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128], {
                vaultId: InterbtcPrimitivesVaultId;
                nominatorId: AccountId32;
                amount: i128;
            }>;
            DistributeReward: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, vaultId: InterbtcPrimitivesVaultId, amount: i128], {
                currencyId: InterbtcPrimitivesCurrencyId;
                vaultId: InterbtcPrimitivesVaultId;
                amount: i128;
            }>;
            ForceRefund: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId], {
                vaultId: InterbtcPrimitivesVaultId;
            }>;
            IncreaseNonce: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, newNonce: u32], {
                vaultId: InterbtcPrimitivesVaultId;
                newNonce: u32;
            }>;
            WithdrawReward: AugmentedEvent<ApiType, [nonce: u32, currencyId: InterbtcPrimitivesCurrencyId, vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128], {
                nonce: u32;
                currencyId: InterbtcPrimitivesCurrencyId;
                vaultId: InterbtcPrimitivesVaultId;
                nominatorId: AccountId32;
                amount: i128;
            }>;
            WithdrawStake: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128], {
                vaultId: InterbtcPrimitivesVaultId;
                nominatorId: AccountId32;
                amount: i128;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        vesting: {
            /**
             * Claimed vesting.
             **/
            Claimed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], {
                who: AccountId32;
                amount: u128;
            }>;
            /**
             * Added new vesting schedule.
             **/
            VestingScheduleAdded: AugmentedEvent<ApiType, [from: AccountId32, to: AccountId32, vestingSchedule: OrmlVestingVestingSchedule], {
                from: AccountId32;
                to: AccountId32;
                vestingSchedule: OrmlVestingVestingSchedule;
            }>;
            /**
             * Updated vesting schedules.
             **/
            VestingSchedulesUpdated: AugmentedEvent<ApiType, [who: AccountId32], {
                who: AccountId32;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        xcmpQueue: {
            /**
             * Bad XCM format used.
             **/
            BadFormat: AugmentedEvent<ApiType, [Option<H256>]>;
            /**
             * Bad XCM version used.
             **/
            BadVersion: AugmentedEvent<ApiType, [Option<H256>]>;
            /**
             * Some XCM failed.
             **/
            Fail: AugmentedEvent<ApiType, [Option<H256>, XcmV2TraitsError]>;
            /**
             * An XCM exceeded the individual message weight budget.
             **/
            OverweightEnqueued: AugmentedEvent<ApiType, [u32, u32, u64, u64]>;
            /**
             * An XCM from the overweight queue was executed with the given actual weight used.
             **/
            OverweightServiced: AugmentedEvent<ApiType, [u64, u64]>;
            /**
             * Some XCM was executed ok.
             **/
            Success: AugmentedEvent<ApiType, [Option<H256>]>;
            /**
             * An upward message was sent to the relay chain.
             **/
            UpwardMessageSent: AugmentedEvent<ApiType, [Option<H256>]>;
            /**
             * An HRMP message was sent to a sibling parachain.
             **/
            XcmpMessageSent: AugmentedEvent<ApiType, [Option<H256>]>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
        xTokens: {
            /**
             * Transferred `MultiAsset` with fee.
             **/
            TransferredMultiAssets: AugmentedEvent<ApiType, [sender: AccountId32, assets: XcmV1MultiassetMultiAssets, fee: XcmV1MultiAsset, dest: XcmV1MultiLocation], {
                sender: AccountId32;
                assets: XcmV1MultiassetMultiAssets;
                fee: XcmV1MultiAsset;
                dest: XcmV1MultiLocation;
            }>;
            /**
             * Generic event
             **/
            [key: string]: AugmentedEvent<ApiType>;
        };
    }
}
