import { Account } from 'viem'; import { ProtocolConfig } from '../types'; export declare function getPublicClientByConfig(config: ProtocolConfig): { account: undefined; batch?: import("viem").ClientConfig["batch"] | undefined; cacheTime: number; ccipRead?: import("viem").ClientConfig["ccipRead"] | undefined; chain: import("viem").Chain; key: string; name: string; pollingInterval: number; request: import("viem").EIP1193RequestFn; transport: import("viem").TransportConfig<"http", import("viem").EIP1193RequestFn> & { fetchOptions?: import("viem").HttpTransportConfig["fetchOptions"] | undefined; url?: string | undefined; }; type: string; uid: string; call: (parameters: import("viem").CallParameters) => Promise; createBlockFilter: () => Promise; createContractEventFilter: | undefined, TArgs extends import("viem").MaybeExtractEventArgsFromAbi | undefined, TStrict extends boolean | undefined = undefined, TFromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, TToBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").CreateContractEventFilterParameters) => Promise>; createEventFilter: , _Args extends import("viem").MaybeExtractEventArgsFromAbi | undefined = undefined>(args?: import("viem").CreateEventFilterParameters | undefined) => Promise>; createPendingTransactionFilter: () => Promise; estimateContractGas: , args extends import("viem").ContractFunctionArgs>(args: import("viem").EstimateContractGasParameters) => Promise; estimateGas: (args: import("viem").EstimateGasParameters) => Promise; getBalance: (args: import("viem").GetBalanceParameters) => Promise; getBlobBaseFee: () => Promise; getBlock: (args?: import("viem").GetBlockParameters | undefined) => Promise>; getBlockNumber: (args?: import("viem").GetBlockNumberParameters | undefined) => Promise; getBlockTransactionCount: (args?: import("viem").GetBlockTransactionCountParameters | undefined) => Promise; getBytecode: (args: import("viem").GetBytecodeParameters) => Promise; getChainId: () => Promise; getCode: (args: import("viem").GetBytecodeParameters) => Promise; getContractEvents: | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetContractEventsParameters) => Promise>; getEip712Domain: (args: import("viem").GetEip712DomainParameters) => Promise; getEnsAddress: (args: import("viem").GetEnsAddressParameters) => Promise; getEnsAvatar: (args: import("viem").GetEnsAvatarParameters) => Promise; getEnsName: (args: import("viem").GetEnsNameParameters) => Promise; getEnsResolver: (args: import("viem").GetEnsResolverParameters) => Promise; getEnsText: (args: import("viem").GetEnsTextParameters) => Promise; getFeeHistory: (args: import("viem").GetFeeHistoryParameters) => Promise; estimateFeesPerGas: (args?: import("viem").EstimateFeesPerGasParameters | undefined) => Promise; getFilterChanges: (args: import("viem").GetFilterChangesParameters) => Promise>; getFilterLogs: (args: import("viem").GetFilterLogsParameters) => Promise>; getGasPrice: () => Promise; getLogs: (args?: import("viem").GetLogsParameters | undefined) => Promise>; getProof: (args: import("viem").GetProofParameters) => Promise; estimateMaxPriorityFeePerGas: (args?: { chain?: TChainOverride | null | undefined; } | undefined) => Promise; getStorageAt: (args: import("viem").GetStorageAtParameters) => Promise; getTransaction: (args: import("viem").GetTransactionParameters) => Promise>; getTransactionConfirmations: (args: import("viem").GetTransactionConfirmationsParameters) => Promise; getTransactionCount: (args: import("viem").GetTransactionCountParameters) => Promise; getTransactionReceipt: (args: import("viem").GetTransactionReceiptParameters) => Promise>; multicall: (args: import("viem").MulticallParameters) => Promise>; prepareTransactionRequest: , TChainOverride extends import("viem").Chain | undefined = undefined, TAccountOverride extends Account | import("viem").Address | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters) => Promise>; readContract: , args extends import("viem").ContractFunctionArgs>(args: import("viem").ReadContractParameters) => Promise>; sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise; simulateContract: , args_1 extends import("viem").ContractFunctionArgs, chainOverride extends import("viem").Chain | undefined, accountOverride extends Account | import("viem").Address | undefined = undefined>(args: import("viem").SimulateContractParameters) => Promise>; verifyMessage: (args: import("viem").VerifyMessageActionParameters) => Promise; verifySiweMessage: (args: import("viem/_types/actions/siwe/verifySiweMessage").VerifySiweMessageParameters) => Promise; verifyTypedData: (args: import("viem").VerifyTypedDataActionParameters) => Promise; uninstallFilter: (args: import("viem").UninstallFilterParameters) => Promise; waitForTransactionReceipt: (args: import("viem").WaitForTransactionReceiptParameters) => Promise>; watchBlockNumber: (args: import("viem").WatchBlockNumberParameters) => import("viem").WatchBlockNumberReturnType; watchBlocks: (args: import("viem").WatchBlocksParameters) => import("viem").WatchBlocksReturnType; watchContractEvent: , TStrict extends boolean | undefined = undefined>(args: import("viem").WatchContractEventParameters) => import("viem").WatchContractEventReturnType; watchEvent: (args: import("viem").WatchEventParameters) => import("viem").WatchEventReturnType; watchPendingTransactions: (args: import("viem").WatchPendingTransactionsParameters) => import("viem").WatchPendingTransactionsReturnType; extend: , "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client>) => client) => import("viem").Client & (import("viem").PublicActions extends { [x: string]: unknown; account?: undefined; batch?: undefined; cacheTime?: undefined; ccipRead?: undefined; chain?: undefined; key?: undefined; name?: undefined; pollingInterval?: undefined; request?: undefined; transport?: undefined; type?: undefined; uid?: undefined; } ? import("viem").PublicActions : unknown)>; }; export declare function getWalletClientByConfig(config: ProtocolConfig, account: Account): { account: { address: `0x${string}`; type: "json-rpc"; nonceManager?: undefined; signMessage?: undefined; signTransaction?: undefined; signTypedData?: undefined; publicKey?: undefined; source?: undefined; } | { address: import("viem").Address; nonceManager?: import("viem").NonceManager | undefined; signMessage: ({ message }: { message: import("viem").SignableMessage; }) => Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }; batch?: import("viem").ClientConfig["batch"] | undefined; cacheTime: number; ccipRead?: import("viem").ClientConfig["ccipRead"] | undefined; chain: import("viem").Chain; key: string; name: string; pollingInterval: number; request: import("viem").EIP1193RequestFn; transport: import("viem").TransportConfig<"http", import("viem").EIP1193RequestFn> & { fetchOptions?: import("viem").HttpTransportConfig["fetchOptions"] | undefined; url?: string | undefined; }; type: string; uid: string; addChain: (args: import("viem").AddChainParameters) => Promise; deployContract: (args: import("viem").DeployContractParameters Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, chainOverride>) => Promise; getAddresses: () => Promise; getChainId: () => Promise; getPermissions: () => Promise; prepareTransactionRequest: , TChainOverride extends import("viem").Chain | undefined = undefined, TAccountOverride extends Account | import("viem").Address | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, TChainOverride, TAccountOverride, TRequest>) => Promise Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, TChainOverride, TAccountOverride, TRequest>>; requestAddresses: () => Promise; requestPermissions: (args: import("viem").RequestPermissionsParameters) => Promise; sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise; sendTransaction: , TChainOverride extends import("viem").Chain | undefined = undefined>(args: import("viem").SendTransactionParameters Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, TChainOverride, TRequest>) => Promise; signMessage: (args: import("viem").SignMessageParameters<{ address: `0x${string}`; type: "json-rpc"; nonceManager?: undefined; signMessage?: undefined; signTransaction?: undefined; signTypedData?: undefined; publicKey?: undefined; source?: undefined; } | { address: import("viem").Address; nonceManager?: import("viem").NonceManager | undefined; signMessage: ({ message }: { message: import("viem").SignableMessage; }) => Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }>) => Promise; signTransaction: (args: import("viem").SignTransactionParameters Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, TChainOverride>) => Promise; signTypedData: (args: import("viem").SignTypedDataParameters Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }>) => Promise; switchChain: (args: import("viem").SwitchChainParameters) => Promise; watchAsset: (args: import("viem").WatchAssetParameters) => Promise; writeContract: , args_1 extends import("viem").ContractFunctionArgs, TChainOverride extends import("viem").Chain | undefined = undefined>(args: import("viem").WriteContractParameters Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, TChainOverride>) => Promise; extend: Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, import("viem").WalletRpcSchema, import("viem").WalletActions Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }>>) => client) => import("viem").Client Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }, import("viem").WalletRpcSchema, import("viem/_types/types/utils").Prettify & (import("viem").WalletActions Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }> extends { [x: string]: unknown; account?: undefined; batch?: undefined; cacheTime?: undefined; ccipRead?: undefined; chain?: undefined; key?: undefined; name?: undefined; pollingInterval?: undefined; request?: undefined; transport?: undefined; type?: undefined; uid?: undefined; } ? import("viem").WalletActions Promise; signTransaction: = import("viem").SerializeTransactionFn, transaction extends Parameters[0] = Parameters[0]>(transaction: transaction, args?: { serializer?: serializer | undefined; } | undefined) => Promise>, import("viem").Hash> extends true ? import("viem").TransactionSerialized> : import("viem").Hash>; signTypedData: , primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: import("viem").TypedDataDefinition) => Promise; publicKey: import("viem").Hex; source: string; type: "local"; }> : unknown)>; };