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 EncodeFusesInputObject } from '../../utils/fuses.js'; export type SetChildFusesDataParameters = { /** Name to set child fuses for */ name: string; /** Fuse object or number value to set to */ fuses: EncodeFusesInputObject; /** Expiry to set for fuses */ expiry?: number | bigint; }; export type SetChildFusesDataReturnType = SimpleTransactionRequest; export type SetChildFusesParameters = Prettify>; export type SetChildFusesReturnType = Hash; export declare const makeFunctionData: (wallet: ClientWithAccount, { name, fuses, expiry }: SetChildFusesDataParameters) => SetChildFusesDataReturnType; /** * Sets the fuses for a name as the parent. * @param wallet - {@link ClientWithAccount} * @param parameters - {@link SetChildFusesParameters} * @returns Transaction hash. {@link SetChildFusesReturnType} * * @example * import { createWalletClient, custom } from 'viem' * import { mainnet } from 'viem/chains' * import { addPnsContracts } from '@pnsdomains/pnsjs' * import { setChildFuses } from '@pnsdomains/pnsjs/wallet' * * const wallet = createWalletClient({ * chain: addPnsContracts(mainnet), * transport: custom(window.ethereum), * }) * const hash = await setChildFuses(wallet, { * name: 'sub.pns.pls', * fuses: { * parent: { * named: ['PARENT_CANNOT_CONTROl'], * }, * }, * }) * // 0x... */ declare function setChildFuses(wallet: ClientWithAccount, { name, fuses, expiry, ...txArgs }: SetChildFusesParameters): Promise; declare namespace setChildFuses { var makeFunctionData: (wallet: ClientWithAccount, { name, fuses, expiry }: SetChildFusesDataParameters) => SimpleTransactionRequest; } export default setChildFuses; //# sourceMappingURL=setChildFuses.d.ts.map