import { type Account, type Hash, type Transport } from 'viem'; import type { ChainWithPns, ClientWithAccount } from '../../contracts/consts.js'; import type { Prettify, SimpleTransactionRequest, WriteTransactionParameters } from '../../types.js'; import { type EncodeChildFusesInputObject } from '../../utils/fuses.js'; export type SetFusesDataParameters = { /** Name to set fuses for */ name: string; /** Fuse object to set to */ fuses: EncodeChildFusesInputObject; }; export type SetFusesDataReturnType = SimpleTransactionRequest; export type SetFusesParameters = Prettify>; export type SetFusesReturnType = Hash; export declare const makeFunctionData: (wallet: ClientWithAccount, { name, fuses }: SetFusesDataParameters) => SetFusesDataReturnType; /** * Sets the fuses for a name. * @param wallet - {@link ClientWithAccount} * @param parameters - {@link SetFusesParameters} * @returns Transaction hash. {@link SetFusesReturnType} * * @example * import { createWalletClient, custom } from 'viem' * import { mainnet } from 'viem/chains' * import { addPnsContracts } from '@pnsdomains/pnsjs' * import { setFuses } from '@pnsdomains/pnsjs/wallet' * * const wallet = createWalletClient({ * chain: addPnsContracts(mainnet), * transport: custom(window.ethereum), * }) * const hash = await setFuses(wallet, { * name: 'sub.pns.pls', * fuses: { * named: ['CANNOT_TRANSFER'], * }, * }) * // 0x... */ declare function setFuses(wallet: ClientWithAccount, { name, fuses, ...txArgs }: SetFusesParameters): Promise; declare namespace setFuses { var makeFunctionData: (wallet: ClientWithAccount, { name, fuses }: SetFusesDataParameters) => SimpleTransactionRequest; } export default setFuses; //# sourceMappingURL=setFuses.d.ts.map