import type { Account, Address, Chain, Client, NamehashErrorType, Transport, WriteContractErrorType, WriteContractReturnType } from 'viem'; import type { Prettify, WriteTransactionParameters } from '../../../types/index.js'; import { type ClientWithOverridesErrorType } from '../../../utils/clientWithOverrides.js'; import { type SetTextParametersErrorType } from '../../../utils/resolver/setText.js'; export type SetTextRecordWriteParametersParameters = { /** The name to set a text record for */ name: string; /** The text record key to set */ key: string; /** The text record value to set */ value: string | null; /** The resolver address to use */ resolverAddress: Address; }; export type SetTextRecordWriteParametersReturnType = ReturnType; export type SetTextRecordWriteParametersErrorType = SetTextParametersErrorType | NamehashErrorType; export declare const setTextRecordWriteParameters: (client: Client, { name, key, value, resolverAddress }: SetTextRecordWriteParametersParameters) => { readonly abi: readonly [{ readonly inputs: readonly [{ readonly name: "node"; readonly type: "bytes32"; }, { readonly name: "key"; readonly type: "string"; }, { readonly name: "value"; readonly type: "string"; }]; readonly name: "setText"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly functionName: "setText"; readonly args: readonly [`0x${string}`, string, string]; readonly address: `0x${string}`; readonly chain: chain; readonly account: Account; }; export type SetTextRecordParameters = Prettify>; export type SetTextRecordReturnType = WriteContractReturnType; export type SetTextRecordErrorType = SetTextRecordWriteParametersErrorType | ClientWithOverridesErrorType | WriteContractErrorType; /** * Sets a text record for a name on a resolver. * @param client - {@link Client} * @param options - {@link SetTextRecordOptions} * @returns Transaction hash. {@link SetTextRecordReturnType} * * @example * import { createWalletClient, custom } from 'viem' * import { mainnet } from 'viem/chains' * import { addEnsContracts } from '@ensdomains/ensjs' * import { setTextRecord } from '@ensdomains/ensjs/wallet' * * const [account] = await window.ethereum.request({ method: 'eth_requestAccounts' }) * const wallet = createWalletClient({ * account, * chain: addEnsContracts(mainnet), * transport: custom(window.ethereum), * }) * const hash = await setTextRecord(wallet, { * name: 'ens.eth', * key: 'foo', * value: 'bar', * resolverAddress: '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41', * }) * // 0x... */ export declare function setTextRecord(client: Client, { name, key, value, resolverAddress, ...txArgs }: SetTextRecordParameters): Promise; //# sourceMappingURL=setTextRecord.d.ts.map