import { Connection, PublicKey } from '@solana/web3.js'; import { Provider } from 'ethers'; import { ITldParser } from '../parsers.interface'; import { MainDomain, NameAccountAndDomain, NameRecordHeader } from '../svm'; import { AddressAndDomain } from './types/AddressAndDomain'; import { NetworkWithRpc } from './utils'; import { NameRecord } from './types/NameRecordHeader'; import { Record, RecordResult, AvatarOptions } from '../types/records'; export declare class TldParserEvm implements ITldParser { connection: Provider; private config; constructor(settings?: Connection | NetworkWithRpc); getAllUserDomains(userAccount: string): Promise; getAllUserDomainsFromTld(userAccount: string, tld: string): Promise; getOwnerFromDomainTld(domainTld: string): Promise; getNameRecordFromDomainTld(domainTld: string): Promise; getTldFromParentAccount(parentAccount: PublicKey | string): Promise; reverseLookupNameAccount(nameAccount: PublicKey | string, parentAccountOwner: PublicKey | string): Promise; getMainDomain(userAddress: PublicKey | string): Promise; getParsedAllUserDomainsFromTldUnwrapped(userAccount: PublicKey | string, tld: string): Promise; getParsedAllUserDomainsFromTld(userAccount: PublicKey | string, tld: string): Promise; getParsedAllUserDomainsUnwrapped(userAccount: PublicKey | string): Promise; getParsedAllUserDomains(userAccount: PublicKey | string): Promise; /** * Get a single record for a domain using the resolver contract. * * @param domainTld Full domain like "miester.mon" * @param record The record type to fetch * @returns Record value or null if not set */ getRecord(domainTld: string, record: Record): Promise; /** * Get multiple records for a domain (parallel fetches). * * @param domainTld Full domain like "miester.mon" * @param records Array of record types (default: all records) * @returns Object with record values */ getRecords(domainTld: string, records?: Record[]): Promise; /** * Get avatar with gateway resolution. * Fetches the avatar record and resolves IPFS/Arweave URLs to HTTP. * * @param domainTld Full domain like "miester.mon" * @param options Gateway URLs for IPFS/Arweave * @returns HTTP-accessible avatar URL or null */ getAvatar(domainTld: string, options?: AvatarOptions): Promise; /** * Get main domains for multiple addresses. * Uses parallel contract calls. * * @param addresses Array of wallet addresses (0x addresses) * @returns Array of main domain names (null for addresses without main domain) */ getMainDomains(addresses: string[]): Promise<(string | null)[]>; private getUserNftFromTld; private getBaseRegistry; private getTldFromFullDomain; } //# sourceMappingURL=parsers.d.ts.map