import { Account, Address, WalletClient, Hex } from "viem"; import { PostQuoteResponse } from "../client"; import { GenericPublicClient } from "../utils/genericPublicClient"; type TradeERC20 = { type: "erc20"; address: Address; }; type TradeETH = { type: "eth"; }; type PermitDetails = { token: Address; amount: bigint; expiration: number; nonce: number; }; type Permit = { details: PermitDetails; spender: Address; sigDeadline: bigint; }; type PermitDetailsStringAmounts = { token: Address; amount: string; expiration: number; nonce: number; }; type PermitStringAmounts = { details: PermitDetailsStringAmounts; spender: Address; sigDeadline: string; }; type SignatureWithPermit = { signature: Hex; permit: TPermit; }; type TradeCurrency = TradeERC20 | TradeETH; export type TradeParameters = { sell: TradeCurrency; buy: TradeCurrency; amountIn: bigint; slippage?: number; sender: Address; signer?: Address; recipient?: Address; signatures?: SignatureWithPermit[]; permitActiveSeconds?: number; }; export declare function tradeCoin({ tradeParameters, walletClient, account, publicClient, validateTransaction, }: { tradeParameters: TradeParameters; walletClient: WalletClient; account?: Account | Address; publicClient: GenericPublicClient; validateTransaction?: boolean; }): Promise; export declare function createTradeCall(tradeParameters: TradeParameters): Promise; export {}; //# sourceMappingURL=tradeCoin.d.ts.map