import { MetaTxConfig, TransactionResponse, Web3LibAdapter } from "@bosonprotocol/common";
import { BigNumberish } from "@ethersproject/bignumber";
import { BytesLike } from "@ethersproject/bytes";
import { handler } from ".";
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
import { GetRetriedHashesData } from "./biconomy";
import { accounts } from "..";
import { SignedMetaTx, UnsignedMetaTx } from "./handler";
import { TransferAuthorization } from "../erc20/handler";
export declare class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
    /**
     * Encodes and signs a meta transaction that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTx(args: Omit<Parameters<typeof handler.signMetaTx>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTx(args: Omit<Parameters<typeof handler.signMetaTx>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `createSeller` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCreateSeller(args: Omit<Parameters<typeof handler.signMetaTxCreateSeller>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCreateSeller(args: Omit<Parameters<typeof handler.signMetaTxCreateSeller>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    signMetaTxUpdateSeller(args: Omit<Parameters<typeof handler.signMetaTxUpdateSeller>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxUpdateSeller(args: Omit<Parameters<typeof handler.signMetaTxUpdateSeller>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    signMetaTxOptInToSellerUpdate(args: Omit<Parameters<typeof handler.signMetaTxOptInToSellerUpdate>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxOptInToSellerUpdate(args: Omit<Parameters<typeof handler.signMetaTxOptInToSellerUpdate>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    signMetaTxUpdateSellerAndOptIn(sellerUpdates: accounts.UpdateSellerArgs): Promise<TransactionResponse>;
    /**
     * Encodes and signs a meta transaction for `createOffer` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCreateOffer(args: Omit<Parameters<typeof handler.signMetaTxCreateOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCreateOffer(args: Omit<Parameters<typeof handler.signMetaTxCreateOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `createOfferBatch` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCreateOfferBatch(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCreateOfferBatch(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `createGroup` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCreateGroup(args: Omit<Parameters<typeof handler.signMetaTxCreateGroup>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCreateGroup(args: Omit<Parameters<typeof handler.signMetaTxCreateGroup>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    signMetaTxReserveRange(args: Omit<Parameters<typeof handler.signMetaTxReserveRange>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId" | "to"> & {
        to: "seller" | "contract";
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxReserveRange(args: Omit<Parameters<typeof handler.signMetaTxReserveRange>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId" | "to"> & {
        to: "seller" | "contract";
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    signMetaTxPreMint(args: Omit<Parameters<typeof handler.signMetaTxPreMint>[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl">, overrides?: Partial<{
        batchId: BigNumberish;
    }>): Promise<handler.SignedVoucherMetaTx>;
    signMetaTxSetApprovalForAll(args: Omit<Parameters<typeof handler.signMetaTxSetApprovalForAll>[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "nonce" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl">, overrides?: Partial<{
        batchId: BigNumberish;
    }>): Promise<handler.SignedVoucherMetaTx>;
    signMetaTxSetApprovalForAllToContract(args: Omit<Parameters<typeof handler.signMetaTxSetApprovalForAllToContract>[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "nonce" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl"> & {
        bosonVoucherAddress?: string;
    }, overrides?: Partial<{
        batchId?: BigNumberish;
        txGas?: number;
    }>): Promise<handler.SignedVoucherMetaTx>;
    signMetaTxCallExternalContract(args: Omit<Parameters<typeof handler.signMetaTxCallExternalContract>[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "nonce" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl">, overrides?: Partial<{
        batchId?: BigNumberish;
        txGas?: number;
    }>): Promise<handler.SignedVoucherMetaTx>;
    relayBiconomyMetaTransaction(contractAddress: string, metaTxParams: {
        request: Parameters<(typeof handler)["relayBiconomyMetaTransaction"]>[0]["metaTx"]["params"]["request"];
        domainSeparator: Parameters<(typeof handler)["relayBiconomyMetaTransaction"]>[0]["metaTx"]["params"]["domainSeparator"];
        signature: Parameters<(typeof handler)["relayBiconomyMetaTransaction"]>[0]["metaTx"]["params"]["signature"];
    }, overrides?: Partial<{
        userAddress: string;
        metaTxConfig: Partial<Omit<MetaTxConfig, "apiIds" | "forwarderAbi"> & {
            apiId: string;
        }>;
        metaTransactionMethod: string;
    }>): Promise<TransactionResponse>;
    /**
     * Encodes and signs a meta transaction for `createOfferWithCondition` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCreateOfferWithCondition(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferWithCondition>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCreateOfferWithCondition(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferWithCondition>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `voidOffer` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxVoidOffer(args: Omit<Parameters<typeof handler.signMetaTxVoidOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxVoidOffer(args: Omit<Parameters<typeof handler.signMetaTxVoidOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `voidOfferBatch` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxVoidOfferBatch(args: Omit<Parameters<typeof handler.signMetaTxVoidOfferBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxVoidOfferBatch(args: Omit<Parameters<typeof handler.signMetaTxVoidOfferBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `extendOffer` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxExtendOffer(args: Omit<Parameters<typeof handler.signMetaTxExtendOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxExtendOffer(args: Omit<Parameters<typeof handler.signMetaTxExtendOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `extendOfferBatch` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxExtendOfferBatch(args: Omit<Parameters<typeof handler.signMetaTxExtendOfferBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxExtendOfferBatch(args: Omit<Parameters<typeof handler.signMetaTxExtendOfferBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `completeExchange` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCompleteExchange(args: Omit<Parameters<typeof handler.signMetaTxCompleteExchange>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCompleteExchange(args: Omit<Parameters<typeof handler.signMetaTxCompleteExchange>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `completeExchangeBatch` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCompleteExchangeBatch(args: Omit<Parameters<typeof handler.signMetaTxCompleteExchangeBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCompleteExchangeBatch(args: Omit<Parameters<typeof handler.signMetaTxCompleteExchangeBatch>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `commitToOffer` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCommitToOffer(args: Omit<Parameters<typeof handler.signMetaTxCommitToOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCommitToOffer(args: Omit<Parameters<typeof handler.signMetaTxCommitToOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `commitToConditionalOffer` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCommitToConditionalOffer(args: Omit<Parameters<typeof handler.signMetaTxCommitToConditionalOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCommitToConditionalOffer(args: Omit<Parameters<typeof handler.signMetaTxCommitToConditionalOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `commitToBuyerOffer` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCommitToBuyerOffer(args: Omit<Parameters<typeof handler.signMetaTxCommitToBuyerOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCommitToBuyerOffer(args: Omit<Parameters<typeof handler.signMetaTxCommitToBuyerOffer>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `createOfferAndCommit` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCreateOfferAndCommit(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferAndCommit>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCreateOfferAndCommit(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferAndCommit>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `commitToOfferAndRedeemVoucher`
     * that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCommitToOfferAndRedeemVoucher(args: Omit<Parameters<typeof handler.signMetaTxCommitToOfferAndRedeemVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCommitToOfferAndRedeemVoucher(args: Omit<Parameters<typeof handler.signMetaTxCommitToOfferAndRedeemVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for
     * `commitToConditionalOfferAndRedeemVoucher` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCommitToConditionalOfferAndRedeemVoucher(args: Omit<Parameters<typeof handler.signMetaTxCommitToConditionalOfferAndRedeemVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCommitToConditionalOfferAndRedeemVoucher(args: Omit<Parameters<typeof handler.signMetaTxCommitToConditionalOfferAndRedeemVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `createOfferCommitAndRedeem` that
     * can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCreateOfferCommitAndRedeem(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferCommitAndRedeem>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCreateOfferCommitAndRedeem(args: Omit<Parameters<typeof handler.signMetaTxCreateOfferCommitAndRedeem>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `cancelVoucher` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxCancelVoucher(args: Omit<Parameters<typeof handler.signMetaTxCancelVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxCancelVoucher(args: Omit<Parameters<typeof handler.signMetaTxCancelVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `redeemVoucher` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxRedeemVoucher(args: Omit<Parameters<typeof handler.signMetaTxRedeemVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxRedeemVoucher(args: Omit<Parameters<typeof handler.signMetaTxRedeemVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `expireVoucher` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxExpireVoucher(args: Omit<Parameters<typeof handler.signMetaTxExpireVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxExpireVoucher(args: Omit<Parameters<typeof handler.signMetaTxExpireVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `revokeVoucher` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxRevokeVoucher(args: Omit<Parameters<typeof handler.signMetaTxRevokeVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxRevokeVoucher(args: Omit<Parameters<typeof handler.signMetaTxRevokeVoucher>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `retractDispute` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxRetractDispute(args: Omit<Parameters<typeof handler.signMetaTxRetractDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxRetractDispute(args: Omit<Parameters<typeof handler.signMetaTxRetractDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `escalateDispute` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxEscalateDispute(args: Omit<Parameters<typeof handler.signMetaTxEscalateDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxEscalateDispute(args: Omit<Parameters<typeof handler.signMetaTxEscalateDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `raiseDispute` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxRaiseDispute(args: Omit<Parameters<typeof handler.signMetaTxRaiseDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxRaiseDispute(args: Omit<Parameters<typeof handler.signMetaTxRaiseDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `resolveDispute` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxResolveDispute(args: Omit<Parameters<typeof handler.signMetaTxResolveDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxResolveDispute(args: Omit<Parameters<typeof handler.signMetaTxResolveDispute>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `extendDisputeTimeout` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxExtendDisputeTimeout(args: Omit<Parameters<typeof handler.signMetaTxExtendDisputeTimeout>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxExtendDisputeTimeout(args: Omit<Parameters<typeof handler.signMetaTxExtendDisputeTimeout>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `withdrawFunds` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxWithdrawFunds(args: Omit<Parameters<typeof handler.signMetaTxWithdrawFunds>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxWithdrawFunds(args: Omit<Parameters<typeof handler.signMetaTxWithdrawFunds>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Encodes and signs a meta transaction for `depositFunds` that can be relayed.
     * @param args - Meta transaction args.
     * @returns Signature.
     */
    signMetaTxDepositFunds(args: Omit<Parameters<typeof handler.signMetaTxDepositFunds>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign: true;
    }): Promise<UnsignedMetaTx>;
    signMetaTxDepositFunds(args: Omit<Parameters<typeof handler.signMetaTxDepositFunds>[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & {
        returnTypedDataToSign?: false | undefined;
    }): Promise<SignedMetaTx>;
    /**
     * Relay a meta transaction,
     * @param metaTxParams - Required params for meta transaction.
     * @param overrides - Optional overrides.
     * @returns Transaction response.
     */
    relayMetaTransaction(metaTxParams: {
        functionName: string;
        functionSignature: BytesLike;
        nonce: BigNumberish;
        sigR: BytesLike;
        sigS: BytesLike;
        sigV: BigNumberish;
        transferAuthorizations?: TransferAuthorization[];
    }, overrides?: Partial<{
        userAddress: string;
        contractAddress: string;
        metaTxConfig: Partial<Omit<MetaTxConfig, "apiIds"> & {
            apiId: string;
        }>;
        metaTransactionMethod: string;
    }>): Promise<TransactionResponse>;
    /**
     * Execute a signed meta transaction directly on-chain (no Biconomy relayer).
     * Routes to `executeMetaTransaction` or `executeMetaTransactionWithTokenTransferAuthorization`
     * depending on whether `transferAuthorizations` is provided and non-empty.
     * The wallet backing the SDK pays the gas; pass `overrides.userAddress` when
     * the meta-tx signer differs from that wallet.
     * @param metaTxParams - Required params for meta transaction.
     * @param overrides - Optional overrides.
     * @returns Transaction response.
     */
    executeMetaTransaction(metaTxParams: {
        functionName: string;
        functionSignature: BytesLike;
        nonce: BigNumberish;
        sigR: BytesLike;
        sigS: BytesLike;
        sigV: BigNumberish;
        transferAuthorizations?: TransferAuthorization[];
    }, overrides?: Partial<{
        userAddress: string;
        contractAddress: string;
    }>): Promise<TransactionResponse>;
    /**
     * Returns information of submitted meta transaction.
     * See https://docs.biconomy.io/api/native-meta-tx/get-retried-hashes.
     * @param originalMetaTxHash - Original meta transaction as returned by `coreSDK.relayMetaTransaction`
     * @param overrides - Optional overrides for meta transaction config.
     * @returns - Additional meta transaction information.
     */
    getResubmittedMetaTx(originalMetaTxHash: string, overrides?: Partial<{
        contractAddress: string;
        metaTxConfig: Partial<Omit<MetaTxConfig, "apiIds"> & {
            apiId: string;
        }>;
        metaTransactionMethod: string;
    }>): Promise<GetRetriedHashesData>;
}
//# sourceMappingURL=mixin.d.ts.map