import { Address, GetContractReturnType, Hash, Hex, Log } from 'viem'; import { BaseClientMixin, BaseGasEstimatesMixin, BaseTransactions } from './base'; import { passThroughWalletAbi } from '../constants/abi/passThroughWallet'; import type { CallData, CreatePassThroughWalletConfig, PassThroughTokensConfig, PassThroughWalletExecCallsConfig, PassThroughWalletPauseConfig, SetPassThroughConfig, SplitsClientConfig, SplitsPublicClient, TransactionConfig, TransactionFormat } from '../types'; type PassThroughWalletAbi = typeof passThroughWalletAbi; declare class PassThroughWalletTransactions extends BaseTransactions { constructor(transactionClientArgs: SplitsClientConfig & TransactionConfig); protected _createPassThroughWalletTransaction({ owner, paused, passThrough, chainId, transactionOverrides, }: CreatePassThroughWalletConfig): Promise; protected _passThroughTokensTransaction({ passThroughWalletAddress, tokens, transactionOverrides, }: PassThroughTokensConfig): Promise; protected _setPassThroughTransaction({ passThroughWalletAddress, passThrough, transactionOverrides, }: SetPassThroughConfig): Promise; protected _setPausedTransaction({ passThroughWalletAddress, paused, transactionOverrides, }: PassThroughWalletPauseConfig): Promise; protected _execCallsTransaction({ passThroughWalletAddress, calls, transactionOverrides, }: PassThroughWalletExecCallsConfig): Promise; private _requireOwner; protected _getPassThroughWalletContract(passThroughWallet: string, chainId: number): GetContractReturnType; } export declare class PassThroughWalletClient extends PassThroughWalletTransactions { readonly eventTopics: { [key: string]: Hex[]; }; readonly callData: PassThroughWalletCallData; readonly estimateGas: PassThroughWalletGasEstimates; constructor(clientArgs: SplitsClientConfig); _submitCreatePassThroughWalletTransaction(createPassThroughArgs: CreatePassThroughWalletConfig): Promise<{ txHash: Hash; }>; createPassThroughWallet(createPassThroughArgs: CreatePassThroughWalletConfig): Promise<{ passThroughWalletAddress: Address; event: Log; }>; _submitPassThroughTokensTransaction(passThroughArgs: PassThroughTokensConfig): Promise<{ txHash: Hash; }>; passThroughTokens(passThroughArgs: PassThroughTokensConfig): Promise<{ event: Log; }>; _submitSetPassThroughTransaction(args: SetPassThroughConfig): Promise<{ txHash: Hash; }>; setPassThrough(args: SetPassThroughConfig): Promise<{ event: Log; }>; _submitSetPausedTransaction(pauseArgs: PassThroughWalletPauseConfig): Promise<{ txHash: Hash; }>; setPaused(pauseArgs: PassThroughWalletPauseConfig): Promise<{ event: Log; }>; _submitExecCallsTransaction(args: PassThroughWalletExecCallsConfig): Promise<{ txHash: Hash; }>; execCalls(args: PassThroughWalletExecCallsConfig): Promise<{ event: Log; }>; getPassThrough({ passThroughWalletAddress, chainId, }: { passThroughWalletAddress: string; chainId?: number; }): Promise<{ passThrough: string; }>; } export interface PassThroughWalletClient extends BaseClientMixin { } declare class PassThroughWalletGasEstimates extends PassThroughWalletTransactions { constructor(clientArgs: SplitsClientConfig); createPassThroughWallet(args: CreatePassThroughWalletConfig): Promise; passThroughTokens(args: PassThroughTokensConfig): Promise; setPassThrough(args: SetPassThroughConfig): Promise; setPaused(args: PassThroughWalletPauseConfig): Promise; execCalls(args: PassThroughWalletExecCallsConfig): Promise; } interface PassThroughWalletGasEstimates extends BaseGasEstimatesMixin { } declare class PassThroughWalletCallData extends PassThroughWalletTransactions { constructor(clientArgs: SplitsClientConfig); createPassThroughWallet(args: CreatePassThroughWalletConfig): Promise; passThroughTokens(args: PassThroughTokensConfig): Promise; setPassThrough(args: SetPassThroughConfig): Promise; setPaused(args: PassThroughWalletPauseConfig): Promise; execCalls(args: PassThroughWalletExecCallsConfig): Promise; } export {};