import '@polkadot/types/types/registry';
import type { LockIdentifier, Status, UsableBalance } from '@darwinia/types/interfaces/balances';
import type { BridgedBlockHash, BridgedHeaderHash, CrabRuntimeMessagesDarwiniaMessageCrabToDarwiniaMessagesParameter, DeliveredMessages, DispatchErrorModule, FixedU128, LaneId, MessageId, MessageNonce, MessagePayload, RawStorageProof, RelayerId, TechnicalMember, UnrewardedRelayer } from '@darwinia/types/interfaces/bridges';
import type { BSCHeader } from '@darwinia/types/interfaces/bsc';
import type { Address, AddressT, BalanceInfo, BalanceLock, Bloom, ChainProperties, Common, DepositId, EcdsaAddress, EcdsaMessage, EcdsaSignature, ElectionCompute, ElectionResultT, EraIndex, EthashProof, EthereumAddress, EthereumBlockNumber, EthereumNetwork, EthereumReceiptProof, EthereumTransactionIndex, Exposure, ExposureT, IndividualExposure, KtonBalance, LegacyReceipt, LockFor, LogEntry, MMRProof, MMRRoot, MappedRing, MerkleMountainRangeRootLog, OpCode, Power, PriorRelayer, RKT, Reasons, RedeemFor, RefCount, RelayAuthorityMessage, RelayAuthoritySignature, RelayAuthoritySigner, RingBalance, Signature, Signer, SpanRecord, StakingLock, Term, TimeDepositItem, TokenMessageId, TransactionOutcome, TronAddress, TsInMs, UnappliedSlash, Unbonding, ValidatorPrefs, ValidatorPrefsWithBlocked } from '@darwinia/types/interfaces/darwiniaInject';
import type { DarwiniaDemocracyVoteThreshold } from '@darwinia/types/interfaces/democracy';
import type { EIP1559Transaction, EIP2930Transaction, EthAccessList, EthAccessListItem, EthAddress, EthBloom, EthHeader, EthLog, EthTransactionAction, EthTransactionSignature, LegacyTransaction, TransactionV2 } from '@darwinia/types/interfaces/eth';
import type { ExitError, ExitFatal, ExitRevert, ExitSucceed } from '@darwinia/types/interfaces/evm';
import type { Fee, InProcessOrders } from '@darwinia/types/interfaces/fee';
import type { MMRProofResult, MmrNodesPruningConfiguration, NodeIndex } from '@darwinia/types/interfaces/headerMMR';
import type { Announcement, CrabRuntimePalletsProxyProxyType, DarwiniaRuntimePalletsProxyProxyType, ProxyAnnouncement, ProxyType } from '@darwinia/types/interfaces/proxy';
import type { EthereumRelayProofs, RelayAffirmationId, RelayHeaderId, RelayProofs, RelayVotingState } from '@darwinia/types/interfaces/relayerGame';
import type { PalletStakingIndividualExposure, PowerOf, RewardPoint, SpanIndex, UnappliedSlashOther } from '@darwinia/types/interfaces/staking';
import type { Data, StorageKey } from '@polkadot/types';
import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
declare module '@polkadot/types/types/registry' {
    interface InterfaceTypes {
        Address: Address;
        AddressT: AddressT;
        Announcement: Announcement;
        BalanceInfo: BalanceInfo;
        BalanceLock: BalanceLock;
        BitVec: BitVec;
        Bloom: Bloom;
        bool: bool;
        Bool: Bool;
        BridgedBlockHash: BridgedBlockHash;
        BridgedHeaderHash: BridgedHeaderHash;
        BSCHeader: BSCHeader;
        Bytes: Bytes;
        ChainProperties: ChainProperties;
        Common: Common;
        CrabRuntimeMessagesDarwiniaMessageCrabToDarwiniaMessagesParameter: CrabRuntimeMessagesDarwiniaMessageCrabToDarwiniaMessagesParameter;
        CrabRuntimePalletsProxyProxyType: CrabRuntimePalletsProxyProxyType;
        DarwiniaDemocracyVoteThreshold: DarwiniaDemocracyVoteThreshold;
        DarwiniaRuntimePalletsProxyProxyType: DarwiniaRuntimePalletsProxyProxyType;
        Data: Data;
        DeliveredMessages: DeliveredMessages;
        DepositId: DepositId;
        DispatchErrorModule: DispatchErrorModule;
        EcdsaAddress: EcdsaAddress;
        EcdsaMessage: EcdsaMessage;
        EcdsaSignature: EcdsaSignature;
        EIP1559Transaction: EIP1559Transaction;
        EIP2930Transaction: EIP2930Transaction;
        ElectionCompute: ElectionCompute;
        ElectionResultT: ElectionResultT;
        EraIndex: EraIndex;
        EthAccessList: EthAccessList;
        EthAccessListItem: EthAccessListItem;
        EthAddress: EthAddress;
        EthashProof: EthashProof;
        EthBloom: EthBloom;
        EthereumAddress: EthereumAddress;
        EthereumBlockNumber: EthereumBlockNumber;
        EthereumNetwork: EthereumNetwork;
        EthereumReceiptProof: EthereumReceiptProof;
        EthereumRelayProofs: EthereumRelayProofs;
        EthereumTransactionIndex: EthereumTransactionIndex;
        EthHeader: EthHeader;
        EthLog: EthLog;
        EthTransactionAction: EthTransactionAction;
        EthTransactionSignature: EthTransactionSignature;
        ExitError: ExitError;
        ExitFatal: ExitFatal;
        ExitRevert: ExitRevert;
        ExitSucceed: ExitSucceed;
        Exposure: Exposure;
        ExposureT: ExposureT;
        f32: f32;
        F32: F32;
        f64: f64;
        F64: F64;
        Fee: Fee;
        FixedU128: FixedU128;
        i128: i128;
        I128: I128;
        i16: i16;
        I16: I16;
        i256: i256;
        I256: I256;
        i32: i32;
        I32: I32;
        i64: i64;
        I64: I64;
        i8: i8;
        I8: I8;
        IndividualExposure: IndividualExposure;
        InProcessOrders: InProcessOrders;
        Json: Json;
        KtonBalance: KtonBalance;
        LaneId: LaneId;
        LegacyReceipt: LegacyReceipt;
        LegacyTransaction: LegacyTransaction;
        LockFor: LockFor;
        LockIdentifier: LockIdentifier;
        LogEntry: LogEntry;
        MappedRing: MappedRing;
        MerkleMountainRangeRootLog: MerkleMountainRangeRootLog;
        MessageId: MessageId;
        MessageNonce: MessageNonce;
        MessagePayload: MessagePayload;
        MmrNodesPruningConfiguration: MmrNodesPruningConfiguration;
        MMRProof: MMRProof;
        MMRProofResult: MMRProofResult;
        MMRRoot: MMRRoot;
        NodeIndex: NodeIndex;
        Null: Null;
        OpCode: OpCode;
        OptionBool: OptionBool;
        PalletStakingIndividualExposure: PalletStakingIndividualExposure;
        Power: Power;
        PowerOf: PowerOf;
        PriorRelayer: PriorRelayer;
        ProxyAnnouncement: ProxyAnnouncement;
        ProxyType: ProxyType;
        Raw: Raw;
        RawStorageProof: RawStorageProof;
        Reasons: Reasons;
        RedeemFor: RedeemFor;
        RefCount: RefCount;
        RelayAffirmationId: RelayAffirmationId;
        RelayAuthorityMessage: RelayAuthorityMessage;
        RelayAuthoritySignature: RelayAuthoritySignature;
        RelayAuthoritySigner: RelayAuthoritySigner;
        RelayerId: RelayerId;
        RelayHeaderId: RelayHeaderId;
        RelayProofs: RelayProofs;
        RelayVotingState: RelayVotingState;
        RewardPoint: RewardPoint;
        RingBalance: RingBalance;
        RKT: RKT;
        Signature: Signature;
        Signer: Signer;
        SpanIndex: SpanIndex;
        SpanRecord: SpanRecord;
        StakingLock: StakingLock;
        Status: Status;
        StorageKey: StorageKey;
        TechnicalMember: TechnicalMember;
        Term: Term;
        Text: Text;
        TimeDepositItem: TimeDepositItem;
        TokenMessageId: TokenMessageId;
        TransactionOutcome: TransactionOutcome;
        TransactionV2: TransactionV2;
        TronAddress: TronAddress;
        TsInMs: TsInMs;
        Type: Type;
        u128: u128;
        U128: U128;
        u16: u16;
        U16: U16;
        u256: u256;
        U256: U256;
        u32: u32;
        U32: U32;
        u64: u64;
        U64: U64;
        u8: u8;
        U8: U8;
        UnappliedSlash: UnappliedSlash;
        UnappliedSlashOther: UnappliedSlashOther;
        Unbonding: Unbonding;
        UnrewardedRelayer: UnrewardedRelayer;
        UsableBalance: UsableBalance;
        usize: usize;
        USize: USize;
        ValidatorPrefs: ValidatorPrefs;
        ValidatorPrefsWithBlocked: ValidatorPrefsWithBlocked;
    }
}
