import { type Account, type Address, type Hash, type Transport } from 'viem'; import type { ChainWithPns, ClientWithAccount } from '../../contracts/consts.js'; import type { Prettify, SimpleTransactionRequest, WriteTransactionParameters } from '../../types.js'; export type SetResolverDataParameters = { /** Name to set resolver for */ name: string; /** Contract to set resolver on */ contract: 'registry' | 'nameWrapper'; /** Resolver address to set */ resolverAddress: Address; }; export type SetResolverDataReturnType = SimpleTransactionRequest; export type SetResolverParameters = Prettify>; export type SetResolverReturnType = Hash; export declare const makeFunctionData: (wallet: ClientWithAccount, { name, contract, resolverAddress }: SetResolverDataParameters) => SetResolverDataReturnType; /** * Sets a resolver for a name. * @param wallet - {@link ClientWithAccount} * @param parameters - {@link SetResolverParameters} * @returns Transaction hash. {@link SetResolverReturnType} * * @example * import { createWalletClient, custom } from 'viem' * import { mainnet } from 'viem/chains' * import { addPnsContracts } from '@pnsdomains/pnsjs' * import { setResolver } from '@pnsdomains/pnsjs/wallet' * * const wallet = createWalletClient({ * chain: addPnsContracts(mainnet), * transport: custom(window.ethereum), * }) * const hash = await setResolver(wallet, { * name: 'pns.pls', * contract: 'registry', * resolverAddress: '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41', * }) * // 0x... */ declare function setResolver(wallet: ClientWithAccount, { name, contract, resolverAddress, ...txArgs }: SetResolverParameters): Promise; declare namespace setResolver { var makeFunctionData: (wallet: ClientWithAccount, { name, contract, resolverAddress }: SetResolverDataParameters) => SimpleTransactionRequest; } export default setResolver; //# sourceMappingURL=setResolver.d.ts.map