import { Web3LibAdapter, TransactionRequest, TransactionResponse } from "@bosonprotocol/common"; import { BigNumberish } from "@ethersproject/bignumber"; import type { ApproveExchangeTokenBaseArgs } from "../native-meta-tx/handler"; import { StructuredData } from "../utils/signature"; export type UnsignedTransferAuthorization = { strategy: "ERC3009"; data: { validAfter: BigNumberish; validBefore: BigNumberish; nonce: string; }; } | { strategy: "EIP2612"; data: { deadline: BigNumberish; }; } | { strategy: "Permit2"; data: { nonce: BigNumberish; deadline: BigNumberish; }; } | { strategy: "DAIPermit"; data: { nonce: BigNumberish; expiry: BigNumberish; }; }; export type TransferAuthorization = UnsignedTransferAuthorization & { r: string; s: string; v: number; signature: string; }; export declare function encodeTransferAuthorizationEntry(auth: TransferAuthorization): string; export declare function approve(args: { contractAddress: string; spender: string; value: BigNumberish; web3Lib: Web3LibAdapter; txRequest?: TransactionRequest; returnTxInfo: true; }): Promise; export declare function approve(args: { contractAddress: string; spender: string; value: BigNumberish; web3Lib: Web3LibAdapter; txRequest?: TransactionRequest; returnTxInfo?: false | undefined; }): Promise; export declare function getAllowance(args: { contractAddress: string; owner: string; spender: string; web3Lib: Web3LibAdapter; }): Promise; export declare function getDecimals(args: { contractAddress: string; web3Lib: Web3LibAdapter; }): Promise; export declare function getSymbol(args: { contractAddress: string; web3Lib: Web3LibAdapter; }): Promise; export declare function getName(args: { contractAddress: string; web3Lib: Web3LibAdapter; }): Promise; export declare function ensureAllowance(args: { owner: string; spender: string; contractAddress: string; value: BigNumberish; web3Lib: Web3LibAdapter; txRequest?: TransactionRequest; returnTxInfo?: boolean; }): Promise; export declare function balanceOf(args: { contractAddress: string; owner: string; web3Lib: Web3LibAdapter; }): Promise; type SignReceiveWithErc3009AuthorizationArgs = ApproveExchangeTokenBaseArgs & { tokenDomain: { name: string; version: string; }; validAfter: BigNumberish; validBefore: BigNumberish; }; export declare function signReceiveWithErc3009Authorization(args: SignReceiveWithErc3009AuthorizationArgs & { returnTypedDataToSign: true; }): Promise; export declare function signReceiveWithErc3009Authorization(args: SignReceiveWithErc3009AuthorizationArgs & { returnTypedDataToSign?: false | undefined; }): Promise; type SignReceiveWithErc2612PermitArgs = ApproveExchangeTokenBaseArgs & { tokenDomain: { name: string; version: string; }; deadline: BigNumberish; }; export declare function signReceiveWithErc2612Permit(args: SignReceiveWithErc2612PermitArgs & { returnTypedDataToSign: true; }): Promise; export declare function signReceiveWithErc2612Permit(args: SignReceiveWithErc2612PermitArgs & { returnTypedDataToSign?: false | undefined; }): Promise; type SignReceiveWithPermit2Args = ApproveExchangeTokenBaseArgs & { permit2Address: string; deadline: BigNumberish; permit2Nonce?: BigNumberish; }; export declare function signReceiveWithPermit2(args: SignReceiveWithPermit2Args & { returnTypedDataToSign: true; }): Promise; export declare function signReceiveWithPermit2(args: SignReceiveWithPermit2Args & { returnTypedDataToSign?: false | undefined; }): Promise; type SignReceiveWithDaiPermitArgs = ApproveExchangeTokenBaseArgs & { tokenDomain: { name: string; }; expiry: BigNumberish; }; export declare function signReceiveWithDaiPermit(args: SignReceiveWithDaiPermitArgs & { returnTypedDataToSign: true; }): Promise; export declare function signReceiveWithDaiPermit(args: SignReceiveWithDaiPermitArgs & { returnTypedDataToSign?: false | undefined; }): Promise; export {}; //# sourceMappingURL=handler.d.ts.map