import { Operation } from '../operation'; import { Provider, PublicProvider } from '../provider'; import { CallSCOptions, ReadSCOptions, SmartContract } from '../smartContracts'; export declare const MNS_CONTRACTS: { mainnet: string; buildnet: string; }; /** * @class MNS * @extends SmartContract * * The MNS class provides methods to interact with the Massa Name System (MNS) smart contract. * It allows resolving domain names, reverse resolving addresses, allocating domains, freeing domains, * and updating domain targets. * MNS contract is available here: https://github.com/massalabs/massa-name-system/blob/main/smart-contract/assembly/contracts/main.ts * * @example * ```typescript * const mns = await MNS.mainnet(provider); * const address = await mns.resolve("example"); * ``` * */ export declare class MNS extends SmartContract { constructor(provider: Provider | PublicProvider, chainId: bigint); static init(provider: Provider | PublicProvider): Promise; static mainnet(provider: Provider | PublicProvider): MNS; static buildnet(provider: Provider | PublicProvider): MNS; resolve(name: string, options?: ReadSCOptions): Promise; fromAddress(address: string, options?: ReadSCOptions): Promise; getDomainsFromTarget(target: string, final?: boolean): Promise; /** * Returns the list of domains pointing to multiple addresses * @param addresses - List of addresses to resolve domains for * @returns Promise - List of domains for each address * @throws Error if provider implements only PublicProvider interface */ getDomainsFromMultipleAddresses(addresses: string[]): Promise; alloc(name: string, owner: string, options?: CallSCOptions): Promise; getTokenId(name: string): Promise; free(name: string, options?: CallSCOptions): Promise; updateTarget(name: string, newTarget: string, options?: CallSCOptions): Promise; getOwnedDomains(address: string, final?: boolean): Promise; getTargets(domains: string[], final?: boolean): Promise; dnsAllocCost(domain: string, options?: ReadSCOptions): Promise; transferFrom(domain: string, currentOwner: string, newOwner: string, options?: CallSCOptions): Promise; balanceOf(owner: string, options?: ReadSCOptions): Promise; }