import { MetaTxConfig, TransactionResponse, Web3LibAdapter } from "@bosonprotocol/common"; import { BigNumberish } from "@ethersproject/bignumber"; import { BytesLike } from "@ethersproject/bytes"; import { SignedMetaTx, UnsignedMetaTx } from "../meta-tx/handler"; import { BaseCoreSDK } from "./../mixins/base-core-sdk"; export declare class NativeMetaTxMixin extends BaseCoreSDK { /** * Encodes and signs a native "token.approve()" meta transaction that can be relayed. * @param exchangeToken - The address of the token contract. * @param value - The value to be approved. * @param overrides - Optionally specify a spender address (default is the protocol contract address) * and/or set returnTypedDataToSign to control the return type. * @returns Signature or structured typed data. */ signNativeMetaTxApproveExchangeToken(exchangeToken: string, value: BigNumberish, overrides: Partial<{ spender: string; }> & { returnTypedDataToSign: true; }): Promise; signNativeMetaTxApproveExchangeToken(exchangeToken: string, value: BigNumberish, overrides?: Partial<{ spender: string; returnTypedDataToSign?: false; }>): Promise; /** * Relay a native meta transaction, * @param metaTxParams - Required params for meta transaction. * @param overrides - Optional overrides. * @returns Transaction response. */ relayNativeMetaTransaction(contractAddress: string, metaTxParams: { functionSignature: BytesLike; sigR: BytesLike; sigS: BytesLike; sigV: BigNumberish; }, overrides?: Partial<{ userAddress: string; metaTxConfig: Partial & { apiId: string; }>; metaTransactionMethod: string; }>): Promise; /** * Execute a signed native meta transaction directly on-chain (no Biconomy relayer). * The wallet backing the SDK pays the gas; pass `overrides.userAddress` when the * meta-tx signer differs from that wallet. * @param contractAddress - The token contract address. * @param metaTxParams - Required params for the native meta transaction. * @param overrides - Optional overrides. * @returns Transaction response. */ executeNativeMetaTransaction(contractAddress: string, metaTxParams: { functionSignature: BytesLike; sigR: BytesLike; sigS: BytesLike; sigV: BigNumberish; }, overrides?: Partial<{ userAddress: string; }>): Promise; } //# sourceMappingURL=mixin.d.ts.map