import { Address, GetContractReturnType, Hash, Hex, Log } from 'viem'; import { BaseClientMixin, BaseGasEstimatesMixin, BaseTransactions } from './base'; import { uniV3SwapAbi } from '../constants/abi/uniV3Swap'; import { swapperAbi } from '../constants/abi/swapper'; import type { CallData, CreateSwapperConfig, ReadContractArgs, SplitsClientConfig, SplitsPublicClient, SwapperExecCallsConfig, SwapperPauseConfig, SwapperSetBeneficiaryConfig, SwapperSetDefaultScaledOfferFactorConfig, SwapperSetOracleConfig, SwapperSetScaledOfferFactorOverridesConfig, SwapperSetTokenToBeneficiaryConfig, TransactionConfig, TransactionFormat, UniV3FlashSwapConfig } from '../types'; type SwapperAbi = typeof swapperAbi; type UniV3SwapAbi = typeof uniV3SwapAbi; declare class SwapperTransactions extends BaseTransactions { constructor(transactionClientArgs: SplitsClientConfig & TransactionConfig); protected _createSwapperTransaction({ owner, paused, beneficiary, tokenToBeneficiary, oracleParams, defaultScaledOfferFactorPercent, scaledOfferFactorOverrides, transactionOverrides, }: CreateSwapperConfig): Promise; protected _uniV3FlashSwapTransaction({ swapperAddress, excessRecipient, inputAssets, transactionTimeLimit, chainId, transactionOverrides, }: UniV3FlashSwapConfig): Promise; protected _setBeneficiaryTransaction({ swapperAddress, beneficiary, transactionOverrides, }: SwapperSetBeneficiaryConfig): Promise; protected _setTokenToBeneficiaryTransaction({ swapperAddress, tokenToBeneficiary, transactionOverrides, }: SwapperSetTokenToBeneficiaryConfig): Promise; protected _setOracleTransaction({ swapperAddress, oracle, transactionOverrides, }: SwapperSetOracleConfig): Promise; protected _setDefaultScaledOfferFactorTransaction({ swapperAddress, defaultScaledOfferFactorPercent, transactionOverrides, }: SwapperSetDefaultScaledOfferFactorConfig): Promise; protected _setScaledOfferFactorOverridesTransaction({ swapperAddress, scaledOfferFactorOverrides, transactionOverrides, }: SwapperSetScaledOfferFactorOverridesConfig): Promise; protected _execCallsTransaction({ swapperAddress, calls, transactionOverrides, }: SwapperExecCallsConfig): Promise; protected _setPausedTransaction({ swapperAddress, paused, transactionOverrides, }: SwapperPauseConfig): Promise; private _requireOwner; protected _getUniV3SwapContract(chainId: number): GetContractReturnType; protected _getSwapperContract(swapper: string, chainId: number): GetContractReturnType; } export declare class SwapperClient extends SwapperTransactions { readonly eventTopics: { [key: string]: Hex[]; }; readonly callData: SwapperCallData; readonly estimateGas: SwapperGasEstimates; constructor(clientArgs: SplitsClientConfig); _submitCreateSwapperTransaction(createSwapperArgs: CreateSwapperConfig): Promise<{ txHash: Hash; }>; createSwapper(createSwapperArgs: CreateSwapperConfig): Promise<{ swapperAddress: Address; event: Log; }>; _submitUniV3FlashSwapTransaction(flashArgs: UniV3FlashSwapConfig): Promise<{ txHash: Hash; }>; uniV3FlashSwap(flashArgs: UniV3FlashSwapConfig): Promise<{ event: Log; }>; _submitExecCallsTransaction(callArgs: SwapperExecCallsConfig): Promise<{ txHash: Hash; }>; execCalls(callArgs: SwapperExecCallsConfig): Promise<{ event: Log; }>; _submitSetPausedTransaction(pauseArgs: SwapperPauseConfig): Promise<{ txHash: Hash; }>; setPaused(pauseArgs: SwapperPauseConfig): Promise<{ event: Log; }>; _submitSetBeneficiaryTransaction(args: SwapperSetBeneficiaryConfig): Promise<{ txHash: Hash; }>; setBeneficiary(args: SwapperSetBeneficiaryConfig): Promise<{ event: Log; }>; _submitSetTokenToBeneficiaryTransaction(args: SwapperSetTokenToBeneficiaryConfig): Promise<{ txHash: Hash; }>; setTokenToBeneficiary(args: SwapperSetTokenToBeneficiaryConfig): Promise<{ event: Log; }>; _submitSetOracleTransaction(args: SwapperSetOracleConfig): Promise<{ txHash: Hash; }>; setOracle(args: SwapperSetOracleConfig): Promise<{ event: Log; }>; _submitSetDefaultScaledOfferFactorTransaction(args: SwapperSetDefaultScaledOfferFactorConfig): Promise<{ txHash: Hash; }>; setDefaultScaledOfferFactor(args: SwapperSetDefaultScaledOfferFactorConfig): Promise<{ event: Log; }>; _submitSetScaledOfferFactorOverridesTransaction(args: SwapperSetScaledOfferFactorOverridesConfig): Promise<{ txHash: Hash; }>; setScaledOfferFactorOverrides(args: SwapperSetScaledOfferFactorOverridesConfig): Promise<{ event: Log; }>; getBeneficiary({ swapperAddress, chainId, }: ReadContractArgs & { swapperAddress: string; }): Promise<{ beneficiary: Address; }>; getTokenToBeneficiary({ swapperAddress, chainId, }: ReadContractArgs & { swapperAddress: string; }): Promise<{ tokenToBeneficiary: Address; }>; getOracle({ swapperAddress, chainId, }: ReadContractArgs & { swapperAddress: string; }): Promise<{ oracle: Address; }>; getDefaultScaledOfferFactor({ swapperAddress, chainId, }: ReadContractArgs & { swapperAddress: string; }): Promise<{ defaultScaledOfferFactor: number; }>; getScaledOfferFactorOverrides({ swapperAddress, quotePairs, chainId, }: ReadContractArgs & { swapperAddress: string; quotePairs: { base: string; quote: string; }[]; }): Promise<{ scaledOfferFactorOverrides: number[]; }>; } export interface SwapperClient extends BaseClientMixin { } declare class SwapperGasEstimates extends SwapperTransactions { constructor(clientArgs: SplitsClientConfig); createSwapper(createSwapperArgs: CreateSwapperConfig): Promise; uniV3FlashSwap(flashArgs: UniV3FlashSwapConfig): Promise; execCalls(callArgs: SwapperExecCallsConfig): Promise; setPaused(args: SwapperPauseConfig): Promise; setBeneficiary(args: SwapperSetBeneficiaryConfig): Promise; setTokenToBeneficiary(args: SwapperSetTokenToBeneficiaryConfig): Promise; setOracle(args: SwapperSetOracleConfig): Promise; setDefaultScaledOfferFactor(args: SwapperSetDefaultScaledOfferFactorConfig): Promise; setScaledOfferFactorOverrides(args: SwapperSetScaledOfferFactorOverridesConfig): Promise; } interface SwapperGasEstimates extends BaseGasEstimatesMixin { } declare class SwapperCallData extends SwapperTransactions { constructor(clientArgs: SplitsClientConfig); createSwapper(createSwapperArgs: CreateSwapperConfig): Promise; uniV3FlashSwap(flashArgs: UniV3FlashSwapConfig): Promise; execCalls(callArgs: SwapperExecCallsConfig): Promise; setPaused(args: SwapperPauseConfig): Promise; setBeneficiary(args: SwapperSetBeneficiaryConfig): Promise; setTokenToBeneficiary(args: SwapperSetTokenToBeneficiaryConfig): Promise; setOracle(args: SwapperSetOracleConfig): Promise; setDefaultScaledOfferFactor(args: SwapperSetDefaultScaledOfferFactorConfig): Promise; setScaledOfferFactorOverrides(args: SwapperSetScaledOfferFactorOverridesConfig): Promise; } export {};