import type { MutateOptions } from '@tanstack/react-query'; import type { Config, ResolvedRegister, WriteContractErrorType } from '@wagmi/core'; import type { ChainIdParameter, Compute, ConnectorParameter, SelectChains, UnionCompute, UnionStrictOmit } from '@wagmi/core/internal'; import type { WriteContractData, WriteContractVariables } from '@wagmi/core/query'; import type { Abi, Account, Address, Chain, ContractFunctionArgs, ContractFunctionName } from 'viem'; import type { WriteContractParameters as viem_WriteContractParameters } from 'viem/actions'; import { type UseWriteContractParameters, type UseWriteContractReturnType as wagmi_UseWriteContractReturnType } from '../useWriteContract.js'; type stateMutability = 'nonpayable' | 'payable'; export type CreateUseWriteContractParameters | undefined = undefined, functionName extends ContractFunctionName | undefined = undefined> = { abi: abi | Abi | readonly unknown[]; address?: address | Address | Record | undefined; functionName?: functionName | ContractFunctionName | undefined; }; export type CreateUseWriteContractReturnType | undefined, functionName extends ContractFunctionName | undefined> = (parameters?: UseWriteContractParameters) => Compute, 'writeContract' | 'writeContractAsync'> & { mutate: ? functionName : ContractFunctionName, args extends ContractFunctionArgs, chainId extends config['chains'][number]['id']>(variables: Variables, options?: MutateOptions, context> | undefined) => void; mutateAsync: ? functionName : ContractFunctionName, args extends ContractFunctionArgs, chainId extends config['chains'][number]['id']>(variables: Variables, options?: MutateOptions, context> | undefined) => Promise; /** @deprecated use `mutate` instead */ writeContract: ? functionName : ContractFunctionName, args extends ContractFunctionArgs, chainId extends config['chains'][number]['id']>(variables: Variables, options?: MutateOptions, context> | undefined) => void; /** @deprecated use `mutateAsync` instead */ writeContractAsync: ? functionName : ContractFunctionName, args extends ContractFunctionArgs, chainId extends config['chains'][number]['id']>(variables: Variables, options?: MutateOptions, context> | undefined) => Promise; }>; export declare function createUseWriteContract | undefined = undefined, functionName extends ContractFunctionName | undefined = undefined>(props: CreateUseWriteContractParameters): CreateUseWriteContractReturnType; type Variables | undefined, name extends ContractFunctionName, args extends ContractFunctionArgs, config extends Config, chainId extends config['chains'][number]['id'], address extends Address | Record | undefined, allFunctionNames = ContractFunctionName, chains extends readonly Chain[] = SelectChains, omittedProperties extends 'abi' | 'address' | 'functionName' = 'abi' | (address extends undefined ? never : 'address') | (functionName extends undefined ? never : 'functionName')> = UnionCompute<{ [key in keyof chains]: UnionStrictOmit, omittedProperties | 'chain'>; }[number] & (address extends Record ? { chainId?: keyof address | (chainId extends keyof address ? chainId : never) | undefined; } : Compute>) & ConnectorParameter>; export {}; //# sourceMappingURL=createUseWriteContract.d.ts.map