// Auto-generated via `yarn polkadot-types-from-chain`, do not edit
/* eslint-disable */

// import type lookup before we augment - in some environments
// this is required to allow for ambient/previous definitions
import '@pezkuwi/api-base/types/calls';

import type { ApiTypes, AugmentedCall, DecoratedCallBase } from '@pezkuwi/api-base/types';
import type { Bytes, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u32, u64 } from '@pezkuwi/types-codec';
import type { AnyNumber, IMethod, ITuple } from '@pezkuwi/types-codec/types';
import type { OpaqueKeyOwnershipProof } from '@pezkuwi/types/interfaces/babe';
import type { Extrinsic } from '@pezkuwi/types/interfaces/extrinsics';
import type { OpaqueMetadata } from '@pezkuwi/types/interfaces/metadata';
import type { AccountId32, H160, H256, RuntimeCall, Slot } from '@pezkuwi/types/interfaces/runtime';
import type { PezframeSupportTokensFungibleUnionOfNativeOrWithId, PezframeSupportViewFunctionsViewFunctionDispatchError, PezframeSupportViewFunctionsViewFunctionId, PezframeSystemEventRecord, PezpalletContractsPrimitivesCode, PezpalletContractsPrimitivesCodeUploadReturnValue, PezpalletContractsPrimitivesContractAccessError, PezpalletContractsPrimitivesContractResult, PezpalletContractsPrimitivesExecReturnValue, PezpalletContractsPrimitivesStorageDeposit, PezpalletContractsWasmDeterminism, PezpalletReviveEvmApiDebugRpcTypesTrace, PezpalletReviveEvmApiDebugRpcTypesTracerType, PezpalletReviveEvmApiRpcTypesGenGenericTransaction, PezpalletRevivePrimitivesCode, PezpalletRevivePrimitivesCodeUploadReturnValue, PezpalletRevivePrimitivesContractAccessError, PezpalletRevivePrimitivesContractResultExecReturnValue, PezpalletRevivePrimitivesContractResultInstantiateReturnValue, PezpalletRevivePrimitivesEthTransactError, PezpalletRevivePrimitivesEthTransactInfo, PezpalletTransactionPaymentFeeDetails, PezpalletTransactionPaymentRuntimeDispatchInfo, PezspAuthorityDiscoveryAppPublic, PezspConsensusBabeAppPublic, PezspConsensusBabeBabeConfiguration, PezspConsensusBabeEpoch, PezspConsensusBeefyDoubleVotingProof, PezspConsensusBeefyEcdsaCryptoPublic, PezspConsensusBeefyForkVotingProofOpaqueValue, PezspConsensusBeefyFutureBlockVotingProof, PezspConsensusBeefyValidatorSet, PezspConsensusGrandpaAppPublic, PezspConsensusGrandpaEquivocationProof, PezspConsensusSlotsEquivocationProof, PezspCoreCryptoKeyTypeId, PezspInherentsCheckInherentsResult, PezspInherentsInherentData, PezspMixnetMixnode, PezspMixnetMixnodesErr, PezspMixnetSessionStatus, PezspMmrPrimitivesError, PezspMmrPrimitivesLeafProof, PezspRuntimeBlock, PezspRuntimeDispatchError, PezspRuntimeExtrinsicInclusionMode, PezspRuntimeHeader, PezspRuntimeTransactionValidityTransactionSource, PezspRuntimeTransactionValidityTransactionValidityError, PezspRuntimeTransactionValidityValidTransaction, PezspStatementStoreRuntimeApiInvalidStatement, PezspStatementStoreRuntimeApiStatementSource, PezspStatementStoreRuntimeApiValidStatement, PezspStatementStoreStatement, PezspVersionRuntimeVersion, PezspWeightsWeightV2Weight } from '@pezkuwi/types/lookup';
import type { IExtrinsic, Observable } from '@pezkuwi/types/types';

export type __AugmentedCall<ApiType extends ApiTypes> = AugmentedCall<ApiType>;
export type __DecoratedCallBase<ApiType extends ApiTypes> = DecoratedCallBase<ApiType>;

declare module '@pezkuwi/api-base/types/calls' {
  interface AugmentedCalls<ApiType extends ApiTypes> {
    /** 0xbc9d89904f5b923f/ */
    accountNonceApi: {
      /**
       * Get current account nonce of given `AccountId`.
       **/
      accountNonce: AugmentedCall<ApiType, (account: AccountId32 | string | Uint8Array) => Observable<u32>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x8a8047a53a8277ec/ */
    assetConversionApi: {
      /**
       * Returns the size of the liquidity pool for the given asset pair.
       **/
      getReserves: AugmentedCall<ApiType, (asset1: PezframeSupportTokensFungibleUnionOfNativeOrWithId, asset2: PezframeSupportTokensFungibleUnionOfNativeOrWithId) => Observable<Option<ITuple<[u128, u128]>>>>;
      /**
       * Provides a quote for [`Pallet::swap_exact_tokens_for_tokens`].,, Note that the price may have changed by the time the transaction is executed., (Use `amount_out_min` to control slippage.)
       **/
      quotePriceExactTokensForTokens: AugmentedCall<ApiType, (asset1: PezframeSupportTokensFungibleUnionOfNativeOrWithId, asset2: PezframeSupportTokensFungibleUnionOfNativeOrWithId, amount: u128 | AnyNumber | Uint8Array, include_fee: bool | boolean | Uint8Array) => Observable<Option<u128>>>;
      /**
       * Provides a quote for [`Pallet::swap_tokens_for_exact_tokens`].,, Note that the price may have changed by the time the transaction is executed., (Use `amount_in_max` to control slippage.)
       **/
      quotePriceTokensForExactTokens: AugmentedCall<ApiType, (asset1: PezframeSupportTokensFungibleUnionOfNativeOrWithId, asset2: PezframeSupportTokensFungibleUnionOfNativeOrWithId, amount: u128 | AnyNumber | Uint8Array, include_fee: bool | boolean | Uint8Array) => Observable<Option<u128>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x65f855d6e093c2f1/ */
    assetRewards: {
      /**
       * Get the cost of creating a pool.,, This is especially useful when the cost is dynamic.
       **/
      poolCreationCost: AugmentedCall<ApiType, () => Observable<u128>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x8453b50b22293977/ */
    assetsApi: {
      /**
       * Returns the list of `AssetId`s and corresponding balance that an `AccountId` has.
       **/
      accountBalances: AugmentedCall<ApiType, (account: AccountId32 | string | Uint8Array) => Observable<Vec<ITuple<[u32, u128]>>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x687ad44ad37f03c2/ */
    authorityDiscoveryApi: {
      /**
       * Retrieve authority identifiers of the current and next authority set.
       **/
      authorities: AugmentedCall<ApiType, () => Observable<Vec<PezspAuthorityDiscoveryAppPublic>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xcbca25e39f142387/ */
    babeApi: {
      /**
       * Return the configuration for BABE.
       **/
      configuration: AugmentedCall<ApiType, () => Observable<PezspConsensusBabeBabeConfiguration>>;
      /**
       * Returns information regarding the current epoch.
       **/
      currentEpoch: AugmentedCall<ApiType, () => Observable<PezspConsensusBabeEpoch>>;
      /**
       * Returns the slot that started the current epoch.
       **/
      currentEpochStart: AugmentedCall<ApiType, () => Observable<Slot>>;
      /**
       * Generates a proof of key ownership for the given authority in the, current epoch. An example usage of this module is coupled with the, session historical module to prove that a given authority key is, tied to a given staking identity during a specific session. Proofs, of key ownership are necessary for submitting equivocation reports., NOTE: even though the API takes a `slot` as parameter the current, implementations ignores this parameter and instead relies on this, method being called at the correct block height, i.e. any point at, which the epoch for the given slot is live on-chain. Future, implementations will instead use indexed data through an offchain, worker, not requiring older states to be available.
       **/
      generateKeyOwnershipProof: AugmentedCall<ApiType, (slot: Slot | AnyNumber | Uint8Array, authority_id: PezspConsensusBabeAppPublic) => Observable<Option<Bytes>>>;
      /**
       * Returns information regarding the next epoch (which was already, previously announced).
       **/
      nextEpoch: AugmentedCall<ApiType, () => Observable<PezspConsensusBabeEpoch>>;
      /**
       * Submits an unsigned extrinsic to report an equivocation. The caller, must provide the equivocation proof and a key ownership proof, (should be obtained using `generate_key_ownership_proof`). The, extrinsic will be unsigned and should only be accepted for local, authorship (not to be broadcast to the network). This method returns, `None` when creation of the extrinsic fails, e.g. if equivocation, reporting is disabled for the given runtime (i.e. this method is, hardcoded to return `None`). Only useful in an offchain context.
       **/
      submitReportEquivocationUnsignedExtrinsic: AugmentedCall<ApiType, (equivocation_proof: PezspConsensusSlotsEquivocationProof, key_owner_proof: OpaqueKeyOwnershipProof | string | Uint8Array) => Observable<Option<Null>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x49eaaf1b548a0cb0/ */
    beefyApi: {
      /**
       * Return the block number where BEEFY consensus is enabled/started
       **/
      beefyGenesis: AugmentedCall<ApiType, () => Observable<Option<u32>>>;
      /**
       * Generates a proof that the `prev_block_number` is part of the canonical chain at, `best_known_block_number`.
       **/
      generateAncestryProof: AugmentedCall<ApiType, (prev_block_number: u32 | AnyNumber | Uint8Array, best_known_block_number: Option<u32> | null | Uint8Array | u32 | AnyNumber) => Observable<Option<Bytes>>>;
      /**
       * Generates a proof of key ownership for the given authority in the, given set. An example usage of this module is coupled with the, session historical module to prove that a given authority key is, tied to a given staking identity during a specific session. Proofs, of key ownership are necessary for submitting equivocation reports., NOTE: even though the API takes a `set_id` as parameter the current, implementations ignores this parameter and instead relies on this, method being called at the correct block height, i.e. any point at, which the given set id is live on-chain. Future implementations will, instead use indexed data through an offchain worker, not requiring, older states to be available.
       **/
      generateKeyOwnershipProof: AugmentedCall<ApiType, (set_id: u64 | AnyNumber | Uint8Array, authority_id: PezspConsensusBeefyEcdsaCryptoPublic) => Observable<Option<Bytes>>>;
      /**
       * Submits an unsigned extrinsic to report a double voting equivocation. The caller, must provide the double voting proof and a key ownership proof, (should be obtained using `generate_key_ownership_proof`). The, extrinsic will be unsigned and should only be accepted for local, authorship (not to be broadcast to the network). This method returns, `None` when creation of the extrinsic fails, e.g. if equivocation, reporting is disabled for the given runtime (i.e. this method is, hardcoded to return `None`). Only useful in an offchain context.
       **/
      submitReportDoubleVotingUnsignedExtrinsic: AugmentedCall<ApiType, (equivocation_proof: PezspConsensusBeefyDoubleVotingProof, key_owner_proof: Bytes | string | Uint8Array) => Observable<Option<Null>>>;
      /**
       * Submits an unsigned extrinsic to report a fork voting equivocation. The caller, must provide the fork voting proof (the ancestry proof should be obtained using, `generate_ancestry_proof`) and a key ownership proof (should be obtained using, `generate_key_ownership_proof`). The extrinsic will be unsigned and should only, be accepted for local authorship (not to be broadcast to the network). This method, returns `None` when creation of the extrinsic fails, e.g. if equivocation, reporting is disabled for the given runtime (i.e. this method is, hardcoded to return `None`). Only useful in an offchain context.
       **/
      submitReportForkVotingUnsignedExtrinsic: AugmentedCall<ApiType, (equivocation_proof: PezspConsensusBeefyForkVotingProofOpaqueValue, key_owner_proof: Bytes | string | Uint8Array) => Observable<Option<Null>>>;
      /**
       * Submits an unsigned extrinsic to report a future block voting equivocation. The caller, must provide the future block voting proof and a key ownership proof, (should be obtained using `generate_key_ownership_proof`)., The extrinsic will be unsigned and should only be accepted for local, authorship (not to be broadcast to the network). This method returns, `None` when creation of the extrinsic fails, e.g. if equivocation, reporting is disabled for the given runtime (i.e. this method is, hardcoded to return `None`). Only useful in an offchain context.
       **/
      submitReportFutureBlockVotingUnsignedExtrinsic: AugmentedCall<ApiType, (equivocation_proof: PezspConsensusBeefyFutureBlockVotingProof, key_owner_proof: Bytes | string | Uint8Array) => Observable<Option<Null>>>;
      /**
       * Return the current active BEEFY validator set
       **/
      validatorSet: AugmentedCall<ApiType, () => Observable<Option<PezspConsensusBeefyValidatorSet>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x40fe3ad401f8959a/ */
    blockBuilder: {
      /**
       * Apply the given extrinsic.,, Returns an inclusion outcome which specifies if this extrinsic is included in, this block or not.
       **/
      applyExtrinsic: AugmentedCall<ApiType, (extrinsic: Extrinsic | IExtrinsic | string | Uint8Array) => Observable<Result<Result<Null, PezspRuntimeDispatchError>, PezspRuntimeTransactionValidityTransactionValidityError>>>;
      /**
       * Check that the inherents are valid. The inherent data will vary from chain to chain.
       **/
      checkInherents: AugmentedCall<ApiType, (block: PezspRuntimeBlock, data: PezspInherentsInherentData) => Observable<PezspInherentsCheckInherentsResult>>;
      /**
       * Finish the current block.
       **/
      finalizeBlock: AugmentedCall<ApiType, () => Observable<PezspRuntimeHeader>>;
      /**
       * Generate inherent extrinsics. The inherent data will vary from chain to chain.
       **/
      inherentExtrinsics: AugmentedCall<ApiType, (inherent: PezspInherentsInherentData) => Observable<Vec<Bytes>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x68b66ba122c93fa7/ */
    contractsApi: {
      /**
       * Perform a call from a specified account to a given contract.,, See [`crate::Pallet::bare_call`].
       **/
      call: AugmentedCall<ApiType, (origin: AccountId32 | string | Uint8Array, dest: AccountId32 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array, gas_limit: Option<PezspWeightsWeightV2Weight> | null | Uint8Array | PezspWeightsWeightV2Weight, storage_deposit_limit: Option<u128> | null | Uint8Array | u128 | AnyNumber, input_data: Bytes | string | Uint8Array) => Observable<{
    readonly gasConsumed: PezspWeightsWeightV2Weight;
    readonly gasRequired: PezspWeightsWeightV2Weight;
    readonly storageDeposit: PezpalletContractsPrimitivesStorageDeposit;
    readonly debugMessage: Bytes;
    readonly result: Result<PezpalletContractsPrimitivesExecReturnValue, PezspRuntimeDispatchError>;
    readonly events: Option<Vec<PezframeSystemEventRecord>>;
  } & Struct>>;
      /**
       * Query a given storage key in a given contract.,, Returns `Ok(Some(Vec<u8>))` if the storage value exists under the given key in the, specified account and `Ok(None)` if it doesn't. If the account specified by the address, doesn't exist, or doesn't have a contract then `Err` is returned.
       **/
      getStorage: AugmentedCall<ApiType, (address: AccountId32 | string | Uint8Array, key: Bytes | string | Uint8Array) => Observable<Result<Option<Bytes>, PezpalletContractsPrimitivesContractAccessError>>>;
      /**
       * Instantiate a new contract.,, See `[crate::Pallet::bare_instantiate]`.
       **/
      instantiate: AugmentedCall<ApiType, (origin: AccountId32 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array, gas_limit: Option<PezspWeightsWeightV2Weight> | null | Uint8Array | PezspWeightsWeightV2Weight, storage_deposit_limit: Option<u128> | null | Uint8Array | u128 | AnyNumber, code: PezpalletContractsPrimitivesCode, data: Bytes | string | Uint8Array, salt: Bytes | string | Uint8Array) => Observable<PezpalletContractsPrimitivesContractResult>>;
      /**
       * Upload new code without instantiating a contract from it.,, See [`crate::Pallet::bare_upload_code`].
       **/
      uploadCode: AugmentedCall<ApiType, (origin: AccountId32 | string | Uint8Array, code: Bytes | string | Uint8Array, storage_deposit_limit: Option<u128> | null | Uint8Array | u128 | AnyNumber, determinism: PezpalletContractsWasmDeterminism) => Observable<Result<PezpalletContractsPrimitivesCodeUploadReturnValue, PezspRuntimeDispatchError>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xdf6acb689907609b/ */
    core: {
      /**
       * Execute the given block.
       **/
      executeBlock: AugmentedCall<ApiType, (block: PezspRuntimeBlock) => Observable<Null>>;
      /**
       * Initialize a block with the given header and return the runtime executive mode.
       **/
      initializeBlock: AugmentedCall<ApiType, (header: PezspRuntimeHeader) => Observable<PezspRuntimeExtrinsicInclusionMode>>;
      /**
       * Returns the version of the runtime.
       **/
      version: AugmentedCall<ApiType, () => Observable<PezspVersionRuntimeVersion>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xfbc577b9d747efd6/ */
    genesisBuilder: {
      /**
       * Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the, storage.,, In the case of a FRAME-based runtime, this function deserializes the full, `RuntimeGenesisConfig` from the given JSON blob and puts it into the storage. If the, provided JSON blob is incorrect or incomplete or the deserialization fails, an error, is returned.,, Please note that provided JSON blob must contain all `RuntimeGenesisConfig` fields, no, defaults will be used.
       **/
      buildState: AugmentedCall<ApiType, (json: Bytes | string | Uint8Array) => Observable<Result<Null, Text>>>;
      /**
       * Returns a JSON blob representation of the built-in `RuntimeGenesisConfig` identified by, `id`.,, If `id` is `None` the function should return JSON blob representation of the default, `RuntimeGenesisConfig` struct of the runtime. Implementation must provide default, `RuntimeGenesisConfig`.,, Otherwise function returns a JSON representation of the built-in, named, `RuntimeGenesisConfig` preset identified by `id`, or `None` if such preset does not, exist. Returned `Vec<u8>` contains bytes of JSON blob (patch) which comprises a list of, (potentially nested) key-value pairs that are intended for customizing the default, runtime genesis config. The patch shall be merged (rfc7386) with the JSON representation, of the default `RuntimeGenesisConfig` to create a comprehensive genesis config that can, be used in `build_state` method.
       **/
      getPreset: AugmentedCall<ApiType, (id: Option<Text> | null | Uint8Array | Text | string) => Observable<Option<Bytes>>>;
      /**
       * Returns a list of identifiers for available builtin `RuntimeGenesisConfig` presets.,, The presets from the list can be queried with [`GenesisBuilder::get_preset`] method. If, no named presets are provided by the runtime the list is empty.
       **/
      presetNames: AugmentedCall<ApiType, () => Observable<Vec<Text>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xed99c5acb25eedf5/ */
    grandpaApi: {
      /**
       * Get current GRANDPA authority set id.
       **/
      currentSetId: AugmentedCall<ApiType, () => Observable<u64>>;
      /**
       * Generates a proof of key ownership for the given authority in the, given set. An example usage of this module is coupled with the, session historical module to prove that a given authority key is, tied to a given staking identity during a specific session. Proofs, of key ownership are necessary for submitting equivocation reports., NOTE: even though the API takes a `set_id` as parameter the current, implementations ignore this parameter and instead rely on this, method being called at the correct block height, i.e. any point at, which the given set id is live on-chain. Future implementations will, instead use indexed data through an offchain worker, not requiring, older states to be available.
       **/
      generateKeyOwnershipProof: AugmentedCall<ApiType, (set_id: u64 | AnyNumber | Uint8Array, authority_id: PezspConsensusGrandpaAppPublic) => Observable<Option<Bytes>>>;
      /**
       * Get the current GRANDPA authorities and weights. This should not change except, for when changes are scheduled and the corresponding delay has passed.,, When called at block B, it will return the set of authorities that should be, used to finalize descendants of this block (B+1, B+2, ...). The block B itself, is finalized by the authorities from block B-1.
       **/
      grandpaAuthorities: AugmentedCall<ApiType, () => Observable<Vec<ITuple<[PezspConsensusGrandpaAppPublic, u64]>>>>;
      /**
       * Submits an unsigned extrinsic to report an equivocation. The caller, must provide the equivocation proof and a key ownership proof, (should be obtained using `generate_key_ownership_proof`). The, extrinsic will be unsigned and should only be accepted for local, authorship (not to be broadcast to the network). This method returns, `None` when creation of the extrinsic fails, e.g. if equivocation, reporting is disabled for the given runtime (i.e. this method is, hardcoded to return `None`). Only useful in an offchain context.
       **/
      submitReportEquivocationUnsignedExtrinsic: AugmentedCall<ApiType, (equivocation_proof: PezspConsensusGrandpaEquivocationProof, key_owner_proof: Bytes | string | Uint8Array) => Observable<Option<Null>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x37e397fc7c91f5e4/ */
    metadata: {
      /**
       * Returns the metadata of a runtime.
       **/
      metadata: AugmentedCall<ApiType, () => Observable<OpaqueMetadata>>;
      /**
       * Returns the metadata at a given version.,, If the given `version` isn't supported, this will return `None`., Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime.
       **/
      metadataAtVersion: AugmentedCall<ApiType, (version: u32 | AnyNumber | Uint8Array) => Observable<Option<OpaqueMetadata>>>;
      /**
       * Returns the supported metadata versions.,, This can be used to call `metadata_at_version`.
       **/
      metadataVersions: AugmentedCall<ApiType, () => Observable<Vec<u32>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x6fd7c327202e4a8d/ */
    mixnetApi: {
      /**
       * Get the mixnode set for the current session.
       **/
      currentMixnodes: AugmentedCall<ApiType, () => Observable<Result<Vec<PezspMixnetMixnode>, PezspMixnetMixnodesErr>>>;
      /**
       * Try to register a mixnode for the next session.,, If a registration extrinsic is submitted, `true` is returned. The caller should avoid, calling `maybe_register` again for a few blocks, to give the submitted extrinsic a, chance to get included.,, With the above exception, `maybe_register` is designed to be called every block. Most, of the time it will not do anything, for example:,, - If it is not an appropriate time to submit a registration extrinsic., - If the local node has already registered a mixnode for the next session., - If the local node is not permitted to register a mixnode for the next session.,, `session_index` should match `session_status().current_index`; if it does not, `false`, is returned immediately.
       **/
      maybeRegister: AugmentedCall<ApiType, (session_index: u32 | AnyNumber | Uint8Array, mixnode: PezspMixnetMixnode) => Observable<bool>>;
      /**
       * Get the mixnode set for the previous session.
       **/
      prevMixnodes: AugmentedCall<ApiType, () => Observable<Result<Vec<PezspMixnetMixnode>, PezspMixnetMixnodesErr>>>;
      /**
       * Get the index and phase of the current session.
       **/
      sessionStatus: AugmentedCall<ApiType, () => Observable<PezspMixnetSessionStatus>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x91d5df18b0d2cf58/ */
    mmrApi: {
      /**
       * Generate MMR proof for a series of block numbers. If `best_known_block_number = Some(n)`,, use historical MMR state at given block height `n`. Else, use current MMR state.
       **/
      generateProof: AugmentedCall<ApiType, (block_numbers: Vec<u32> | (u32 | AnyNumber | Uint8Array)[], best_known_block_number: Option<u32> | null | Uint8Array | u32 | AnyNumber) => Observable<Result<ITuple<[Vec<Bytes>, PezspMmrPrimitivesLeafProof]>, PezspMmrPrimitivesError>>>;
      /**
       * Return the number of MMR blocks in the chain.
       **/
      mmrLeafCount: AugmentedCall<ApiType, () => Observable<Result<u64, PezspMmrPrimitivesError>>>;
      /**
       * Return the on-chain MMR root hash.
       **/
      mmrRoot: AugmentedCall<ApiType, () => Observable<Result<H256, PezspMmrPrimitivesError>>>;
      /**
       * Verify MMR proof against on-chain MMR for a batch of leaves.,, Note this function will use on-chain MMR root hash and check if the proof matches the hash., Note, the leaves should be sorted such that corresponding leaves and leaf indices have the, same position in both the `leaves` vector and the `leaf_indices` vector contained in the [LeafProof]
       **/
      verifyProof: AugmentedCall<ApiType, (leaves: Vec<Bytes> | (Bytes | string | Uint8Array)[], proof: PezspMmrPrimitivesLeafProof) => Observable<Result<Null, PezspMmrPrimitivesError>>>;
      /**
       * Verify MMR proof against given root hash for a batch of leaves.,, Note this function does not require any on-chain storage - the, proof is verified against given MMR root hash.,, Note, the leaves should be sorted such that corresponding leaves and leaf indices have the, same position in both the `leaves` vector and the `leaf_indices` vector contained in the [LeafProof]
       **/
      verifyProofStateless: AugmentedCall<ApiType, (root: H256 | string | Uint8Array, leaves: Vec<Bytes> | (Bytes | string | Uint8Array)[], proof: PezspMmrPrimitivesLeafProof) => Observable<Result<Null, PezspMmrPrimitivesError>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x899a250cbe84f250/ */
    nftsApi: {
      /**
       * 
       **/
      attribute: AugmentedCall<ApiType, (collection: u32 | AnyNumber | Uint8Array, item: u32 | AnyNumber | Uint8Array, key: Bytes | string | Uint8Array) => Observable<Option<Bytes>>>;
      /**
       * 
       **/
      collectionAttribute: AugmentedCall<ApiType, (collection: u32 | AnyNumber | Uint8Array, key: Bytes | string | Uint8Array) => Observable<Option<Bytes>>>;
      /**
       * 
       **/
      collectionOwner: AugmentedCall<ApiType, (collection: u32 | AnyNumber | Uint8Array) => Observable<Option<AccountId32>>>;
      /**
       * 
       **/
      customAttribute: AugmentedCall<ApiType, (account: AccountId32 | string | Uint8Array, collection: u32 | AnyNumber | Uint8Array, item: u32 | AnyNumber | Uint8Array, key: Bytes | string | Uint8Array) => Observable<Option<Bytes>>>;
      /**
       * 
       **/
      owner: AugmentedCall<ApiType, (collection: u32 | AnyNumber | Uint8Array, item: u32 | AnyNumber | Uint8Array) => Observable<Option<AccountId32>>>;
      /**
       * 
       **/
      systemAttribute: AugmentedCall<ApiType, (collection: u32 | AnyNumber | Uint8Array, item: Option<u32> | null | Uint8Array | u32 | AnyNumber, key: Bytes | string | Uint8Array) => Observable<Option<Bytes>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x17a6bc0d0062aeb3/ */
    nominationPoolsApi: {
      /**
       * Returns the equivalent points of `new_funds` for a given pool.
       **/
      balanceToPoints: AugmentedCall<ApiType, (pool_id: u32 | AnyNumber | Uint8Array, new_funds: u128 | AnyNumber | Uint8Array) => Observable<u128>>;
      /**
       * Returns true if the delegated funds of the pool `member` needs migration.,, Once a pool has successfully migrated to the strategy, [`DelegateStake`](pallet_nomination_pools::adapter::DelegateStake), the funds of the, member can be migrated from pool account to the member's account. Use, [`migrate_delegation`](pallet_nomination_pools::Call::migrate_delegation), to migrate the funds of the pool member.
       **/
      memberNeedsDelegateMigration: AugmentedCall<ApiType, (member: AccountId32 | string | Uint8Array) => Observable<bool>>;
      /**
       * Returns the pending slash for a given pool member.,, If pending slash of the member exceeds `ExistentialDeposit`, it can be reported on, chain.
       **/
      memberPendingSlash: AugmentedCall<ApiType, (member: AccountId32 | string | Uint8Array) => Observable<u128>>;
      /**
       * Returns the total contribution of a pool member including any balance that is unbonding.
       **/
      memberTotalBalance: AugmentedCall<ApiType, (who: AccountId32 | string | Uint8Array) => Observable<u128>>;
      /**
       * Returns the pending rewards for the member that the AccountId was given for.
       **/
      pendingRewards: AugmentedCall<ApiType, (who: AccountId32 | string | Uint8Array) => Observable<u128>>;
      /**
       * Returns the equivalent balance of `points` for a given pool.
       **/
      pointsToBalance: AugmentedCall<ApiType, (pool_id: u32 | AnyNumber | Uint8Array, points: u128 | AnyNumber | Uint8Array) => Observable<u128>>;
      /**
       * Returns the bonded account and reward account associated with the pool_id.
       **/
      poolAccounts: AugmentedCall<ApiType, (pool_id: u32 | AnyNumber | Uint8Array) => Observable<ITuple<[AccountId32, AccountId32]>>>;
      /**
       * Total balance contributed to the pool.
       **/
      poolBalance: AugmentedCall<ApiType, (pool_id: u32 | AnyNumber | Uint8Array) => Observable<u128>>;
      /**
       * Returns true if the pool with `pool_id` needs migration.,, This can happen when the `pallet-nomination-pools` has switched to using strategy, [`DelegateStake`](pallet_nomination_pools::adapter::DelegateStake) but the pool, still has funds that were staked using the older strategy, [TransferStake](pallet_nomination_pools::adapter::TransferStake). Use, [`migrate_pool_to_delegate_stake`](pallet_nomination_pools::Call::migrate_pool_to_delegate_stake), to migrate the pool.
       **/
      poolNeedsDelegateMigration: AugmentedCall<ApiType, (pool_id: u32 | AnyNumber | Uint8Array) => Observable<bool>>;
      /**
       * Returns the pending slash for a given pool.
       **/
      poolPendingSlash: AugmentedCall<ApiType, (pool_id: u32 | AnyNumber | Uint8Array) => Observable<u128>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xf78b278be53f454c/ */
    offchainWorkerApi: {
      /**
       * Starts the off-chain task for given block header.
       **/
      offchainWorker: AugmentedCall<ApiType, (header: PezspRuntimeHeader) => Observable<Null>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x8c403e5c4a9fd442/ */
    reviveApi: {
      /**
       * Returns the free balance of the given `[H160]` address, using EVM decimals.
       **/
      balance: AugmentedCall<ApiType, (address: H160 | string | Uint8Array) => Observable<U256>>;
      /**
       * Returns the block gas limit.
       **/
      blockGasLimit: AugmentedCall<ApiType, () => Observable<U256>>;
      /**
       * Perform a call from a specified account to a given contract.,, See [`crate::Pallet::bare_call`].
       **/
      call: AugmentedCall<ApiType, (origin: AccountId32 | string | Uint8Array, dest: H160 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array, gas_limit: Option<PezspWeightsWeightV2Weight> | null | Uint8Array | PezspWeightsWeightV2Weight, storage_deposit_limit: Option<u128> | null | Uint8Array | u128 | AnyNumber, input_data: Bytes | string | Uint8Array) => Observable<PezpalletRevivePrimitivesContractResultExecReturnValue>>;
      /**
       * Perform an Ethereum call.,, See [`crate::Pallet::bare_eth_transact`]
       **/
      ethTransact: AugmentedCall<ApiType, (tx: PezpalletReviveEvmApiRpcTypesGenGenericTransaction) => Observable<Result<PezpalletRevivePrimitivesEthTransactInfo, PezpalletRevivePrimitivesEthTransactError>>>;
      /**
       * Returns the gas price.
       **/
      gasPrice: AugmentedCall<ApiType, () => Observable<U256>>;
      /**
       * Query a given storage key in a given contract.,, Returns `Ok(Some(Vec<u8>))` if the storage value exists under the given key in the, specified account and `Ok(None)` if it doesn't. If the account specified by the address, doesn't exist, or doesn't have a contract then `Err` is returned.
       **/
      getStorage: AugmentedCall<ApiType, (address: H160 | string | Uint8Array, key: U8aFixed | string | Uint8Array) => Observable<Result<Option<Bytes>, PezpalletRevivePrimitivesContractAccessError>>>;
      /**
       * Instantiate a new contract.,, See `[crate::Pallet::bare_instantiate]`.
       **/
      instantiate: AugmentedCall<ApiType, (origin: AccountId32 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array, gas_limit: Option<PezspWeightsWeightV2Weight> | null | Uint8Array | PezspWeightsWeightV2Weight, storage_deposit_limit: Option<u128> | null | Uint8Array | u128 | AnyNumber, code: PezpalletRevivePrimitivesCode, data: Bytes | string | Uint8Array, salt: Option<U8aFixed> | null | Uint8Array | U8aFixed | string) => Observable<PezpalletRevivePrimitivesContractResultInstantiateReturnValue>>;
      /**
       * Returns the nonce of the given `[H160]` address.
       **/
      nonce: AugmentedCall<ApiType, (address: H160 | string | Uint8Array) => Observable<u32>>;
      /**
       * Traces the execution of an entire block and returns call traces.,, This is intended to be called through `state_call` to replay the block from the, parent block.,, See eth-rpc `debug_traceBlockByNumber` for usage.
       **/
      traceBlock: AugmentedCall<ApiType, (block: PezspRuntimeBlock, config: PezpalletReviveEvmApiDebugRpcTypesTracerType) => Observable<Vec<ITuple<[u32, PezpalletReviveEvmApiDebugRpcTypesTrace]>>>>;
      /**
       * Dry run and return the trace of the given call.,, See eth-rpc `debug_traceCall` for usage.
       **/
      traceCall: AugmentedCall<ApiType, (tx: PezpalletReviveEvmApiRpcTypesGenGenericTransaction, config: PezpalletReviveEvmApiDebugRpcTypesTracerType) => Observable<Result<PezpalletReviveEvmApiDebugRpcTypesTrace, PezpalletRevivePrimitivesEthTransactError>>>;
      /**
       * Traces the execution of a specific transaction within a block.,, This is intended to be called through `state_call` to replay the block from the, parent hash up to the transaction.,, See eth-rpc `debug_traceTransaction` for usage.
       **/
      traceTx: AugmentedCall<ApiType, (block: PezspRuntimeBlock, tx_index: u32 | AnyNumber | Uint8Array, config: PezpalletReviveEvmApiDebugRpcTypesTracerType) => Observable<Option<PezpalletReviveEvmApiDebugRpcTypesTrace>>>;
      /**
       * Upload new code without instantiating a contract from it.,, See [`crate::Pallet::bare_upload_code`].
       **/
      uploadCode: AugmentedCall<ApiType, (origin: AccountId32 | string | Uint8Array, code: Bytes | string | Uint8Array, storage_deposit_limit: Option<u128> | null | Uint8Array | u128 | AnyNumber) => Observable<Result<PezpalletRevivePrimitivesCodeUploadReturnValue, PezspRuntimeDispatchError>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xccd9de6396c899ca/ */
    runtimeViewFunction: {
      /**
       * Execute a view function query.
       **/
      executeViewFunction: AugmentedCall<ApiType, (query_id: PezframeSupportViewFunctionsViewFunctionId, input: Bytes | string | Uint8Array) => Observable<Result<Bytes, PezframeSupportViewFunctionsViewFunctionDispatchError>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xab3c0572291feb8b/ */
    sessionKeys: {
      /**
       * Decode the given public session keys.,, Returns the list of public raw public keys + key type.
       **/
      decodeSessionKeys: AugmentedCall<ApiType, (encoded: Bytes | string | Uint8Array) => Observable<Option<Vec<ITuple<[Bytes, PezspCoreCryptoKeyTypeId]>>>>>;
      /**
       * Generate a set of session keys with optionally using the given seed., The keys should be stored within the keystore exposed via runtime, externalities.,, The seed needs to be a valid `utf8` string.,, Returns the concatenated SCALE encoded public keys.
       **/
      generateSessionKeys: AugmentedCall<ApiType, (seed: Option<Bytes> | null | Uint8Array | Bytes | string) => Observable<Bytes>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x18ef58a3b67ba770/ */
    stakingApi: {
      /**
       * Returns the page count of exposures for a validator `account` in a given era.
       **/
      erasStakersPageCount: AugmentedCall<ApiType, (era: u32 | AnyNumber | Uint8Array, account: AccountId32 | string | Uint8Array) => Observable<u32>>;
      /**
       * Returns the nominations quota for a nominator with a given balance.
       **/
      nominationsQuota: AugmentedCall<ApiType, (balance: u128 | AnyNumber | Uint8Array) => Observable<u32>>;
      /**
       * Returns true if validator `account` has pages to be claimed for the given era.
       **/
      pendingRewards: AugmentedCall<ApiType, (era: u32 | AnyNumber | Uint8Array, account: AccountId32 | string | Uint8Array) => Observable<bool>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xd2bc9897eed08f15/ */
    taggedTransactionQueue: {
      /**
       * Validate the transaction.,, This method is invoked by the transaction pool to learn details about given transaction., The implementation should make sure to verify the correctness of the transaction, against current state. The given `block_hash` corresponds to the hash of the block, that is used as current state.,, Note that this call may be performed by the pool multiple times and transactions, might be verified in any possible order.
       **/
      validateTransaction: AugmentedCall<ApiType, (source: PezspRuntimeTransactionValidityTransactionSource, tx: Extrinsic | IExtrinsic | string | Uint8Array, block_hash: H256 | string | Uint8Array) => Observable<Result<PezspRuntimeTransactionValidityValidTransaction, PezspRuntimeTransactionValidityTransactionValidityError>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0x37c8bb1350a9a2a8/ */
    transactionPaymentApi: {
      /**
       * 
       **/
      queryFeeDetails: AugmentedCall<ApiType, (uxt: Extrinsic | IExtrinsic | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<PezpalletTransactionPaymentFeeDetails>>;
      /**
       * 
       **/
      queryInfo: AugmentedCall<ApiType, (uxt: Extrinsic | IExtrinsic | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<PezpalletTransactionPaymentRuntimeDispatchInfo>>;
      /**
       * 
       **/
      queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<u128>>;
      /**
       * 
       **/
      queryWeightToFee: AugmentedCall<ApiType, (weight: PezspWeightsWeightV2Weight) => Observable<u128>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xf3ff14d5ab527059/ */
    transactionPaymentCallApi: {
      /**
       * Query fee details of a given encoded `Call`.
       **/
      queryCallFeeDetails: AugmentedCall<ApiType, (call: RuntimeCall | IMethod | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<PezpalletTransactionPaymentFeeDetails>>;
      /**
       * Query information of a dispatch class, weight, and fee of a given encoded `Call`.
       **/
      queryCallInfo: AugmentedCall<ApiType, (call: RuntimeCall | IMethod | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<PezpalletTransactionPaymentRuntimeDispatchInfo>>;
      /**
       * Query the output of the current `LengthToFee` given some input.
       **/
      queryLengthToFee: AugmentedCall<ApiType, (length: u32 | AnyNumber | Uint8Array) => Observable<u128>>;
      /**
       * Query the output of the current `WeightToFee` given some input.
       **/
      queryWeightToFee: AugmentedCall<ApiType, (weight: PezspWeightsWeightV2Weight) => Observable<u128>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
    /** 0xbe9fb0c91a8046cf/ */
    validateStatement: {
      /**
       * Validate the statement.
       **/
      validateStatement: AugmentedCall<ApiType, (source: PezspStatementStoreRuntimeApiStatementSource, statement: PezspStatementStoreStatement) => Observable<Result<PezspStatementStoreRuntimeApiValidStatement, PezspStatementStoreRuntimeApiInvalidStatement>>>;
      /**
       * Generic call
       **/
      [key: string]: DecoratedCallBase<ApiType>;
    };
  } // AugmentedCalls
} // declare module
