import type { Account, Address, Hash, Transport } from 'viem'; import type { ChainWithEns, ClientWithAccount } from '../../contracts/consts.js'; import type { Prettify, SimpleTransactionRequest, WriteTransactionParameters } from '../../types.js'; export type SetTextRecordDataParameters = { /** 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 SetTextRecordDataReturnType = SimpleTransactionRequest; export type SetTextRecordParameters = Prettify>; export type SetTextRecordReturnType = Hash; export declare const makeFunctionData: (_wallet: ClientWithAccount, { name, key, value, resolverAddress }: SetTextRecordDataParameters) => SetTextRecordDataReturnType; /** * Sets a text record for a name on a resolver. * @param wallet - {@link ClientWithAccount} * @param parameters - {@link SetTextRecordParameters} * @returns Transaction hash. {@link SetTextRecordReturnType} * * @example * import { createWalletClient, custom } from 'viem' * import { mainnet } from 'viem/chains' * import { addEnsContracts } from '@etn-sc/ensjs' * import { setTextRecord } from '@etn-sc/ensjs/wallet' * * const wallet = createWalletClient({ * chain: addEnsContracts(mainnet), * transport: custom(window.ethereum), * }) * const hash = await setTextRecord(wallet, { * name: 'ens.eth', * key: 'foo', * value: 'bar', * resolverAddress: '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41', * }) * // 0x... */ declare function setTextRecord(wallet: ClientWithAccount, { name, key, value, resolverAddress, ...txArgs }: SetTextRecordParameters): Promise; declare namespace setTextRecord { var makeFunctionData: (_wallet: ClientWithAccount, { name, key, value, resolverAddress }: SetTextRecordDataParameters) => SetTextRecordDataReturnType; } export default setTextRecord;