import { Intent } from "./base.js"; import { IntentDataGetTransactionReceipt, IntentDataSendTransaction, IntentDataFeeOptions, TransactionContractCall, TransactionDelayedEncode, TransactionERC1155, TransactionERC20, TransactionERC721, TransactionRaw, FeeOption } from "../clients/intent.gen.js"; import { ethers } from 'ethers'; interface BaseArgs { lifespan: number; wallet: string; identifier: string; chainId: number; } export type TransactionFeeArgs = { transactionsFeeQuote?: string; transactionsFeeOption?: FeeOption; }; export type SendTransactionsArgs = TransactionFeeArgs & { transactions: Transaction[]; }; export type SendERC20Args = TransactionFeeArgs & { chainId: number; token: string; to: string; value: ethers.BigNumberish; }; export type SendERC721Args = TransactionFeeArgs & { chainId: number; token: string; to: string; id: string; safe?: boolean; data?: string; }; export type SendERC1155Args = TransactionFeeArgs & { chainId: number; token: string; to: string; values: { id: string; amount: ethers.BigNumberish; }[]; data?: string; }; export type SendContractCallArgs = TransactionFeeArgs & { chainId: number; to: string; value?: ethers.BigNumberish; abi: string; func?: string; args: ContractCallArguments[]; }; export type ContractCallArguments = string | { abi: string; func?: string; args: ContractCallArguments[]; }; export type SendDelayedEncodeArgs = TransactionFeeArgs & { chainId: number; to: string; value: ethers.BigNumberish; abi: string; func: string; args: string[] | { [key: string]: string; }; }; export declare function feeOptions({ lifespan, wallet, identifier, chainId, transactions }: SendTransactionsArgs & BaseArgs): Intent; export declare function sendTransactions({ lifespan, wallet, identifier, chainId, transactions, transactionsFeeQuote, transactionsFeeOption }: SendTransactionsArgs & BaseArgs): Intent; export type GetTransactionReceiptArgs = { metaTxHash: string; }; export declare function getTransactionReceipt({ lifespan, chainId, wallet, metaTxHash }: GetTransactionReceiptArgs & BaseArgs): Intent; export declare function sendERC20({ token, to, value, ...args }: SendERC20Args & BaseArgs): Intent; export declare function sendERC721({ token, to, id, safe, data, ...args }: SendERC721Args & BaseArgs): Intent; export declare function sendERC1155({ token, to, values, data, ...args }: SendERC1155Args & BaseArgs): Intent; export declare function sendContractCall({ to, value, abi, func, args, ...otherArgs }: SendContractCallArgs & BaseArgs): Intent; export declare function sendDelayedEncode({ to, value, abi, func, args, ...otherArgs }: SendDelayedEncodeArgs & BaseArgs): Intent; export type Transaction = ethers.TransactionRequest | TransactionRaw | TransactionERC20 | TransactionERC721 | TransactionERC1155 | TransactionContractCall | TransactionDelayedEncode; export declare function transaction(data: Omit): Transaction; export declare function erc20(data: Omit | Omit): Transaction; export declare function erc721(data: Omit | Omit): Transaction; export declare function erc1155(data: Omit | Omit): Transaction; export declare function contractCall(data: Omit | Omit): Transaction; export declare function delayedEncode(data: Omit | Omit): Transaction; export declare function combineTransactionIntents(intents: Intent[]): Intent; export {};