import { Connection, PublicKey } from '@solana/web3.js'; import { Provider } from 'ethers'; import { AddressAndDomain } from './evm/types/AddressAndDomain'; import { NetworkWithRpc } from './evm/utils'; import { ITldParser } from './parsers.interface'; import { NameAccountAndDomain } from './svm/name-record-handler'; import { MainDomain } from './svm/state/main-domain'; import { NameRecordHeader } from './svm/state/name-record-header'; import { NameRecord } from 'evm'; import { Record, RecordResult, AvatarOptions } from './types/records'; /** * TldParser class * * This class has been improved to maintain compatibility with previous versions. * The methods present in this class are provided for backwards compatibility * and to facilitate easy migration to v1 in future builds. * * The TldParser for multiple chains will be implemented, and Solana integration will remain unchanged without any breaking modifications. */ export declare class TldParser implements ITldParser { connection: Connection | Provider; constructor(connection: Connection | NetworkWithRpc, chain?: string); private static createParser; /** * retrieves all nameAccounts for any user. * * @param userAccount user publickey or string */ getAllUserDomains(userAccount: PublicKey | string): Promise; /** * retrieves all nameaccounts for any user in a specific tld. * * @param userAccount user publickey or string * @param tld tld to be retrieved from */ getAllUserDomainsFromTld(userAccount: PublicKey | string, tld: string): Promise; /** * retrieves owner of a specific Name Account from domain.tld. * * @param domainTld full string of domain and tld e.g. "miester.poor" */ getOwnerFromDomainTld(domainTld: string): Promise; /** * retrieves domainTld data a domain from domain.tld. * * @param domainTld full string of domain and tld e.g. "miester.poor" */ getNameRecordFromDomainTld(domainTld: string): Promise; /** * retrieves tld from parent name via TldHouse account. * * @param parentAccount parent publickey or string */ getTldFromParentAccount(parentAccount: PublicKey | string): Promise; /** * retrieves domain from name account via tldParent account. * * @param nameAccount name publickey or string * @param parentAccountOwner parent Owner or string (TldHouse) */ reverseLookupNameAccount(nameAccount: PublicKey | string, parentAccountOwner: PublicKey | string): Promise; /** * retrieves main domain name account and its domain tld from user address. * * @param userAddress user publickey or string */ getMainDomain(userAddress: PublicKey | string): Promise; /** * retrieves all parsed domains as strings with name accounts in an array for user in a specific TLD. * in alphabetical order * * @param userAccount user publickey or string * @param tld tld to be retrieved from */ getParsedAllUserDomainsFromTldUnwrapped(userAccount: PublicKey | string, tld: string, concurrency?: number): Promise; /** * retrieves all parsed domains and name accounts including NFTs in an array for any user in a specific TLD. * in alphabetical order * * @param userAccount user publickey or string * @param tld tld to be retrieved from */ getParsedAllUserDomainsFromTld(userAccount: PublicKey | string, tld: string, concurrency?: number): Promise; /** * retrieves all parsed domains and name accounts for user. * in alphabetical order * * @param userAccount user publickey or string */ getParsedAllUserDomainsUnwrapped(userAccount: PublicKey | string, concurrency?: number): Promise; /** * retrieves all parsed domains and name accounts including NFTs for user. * in alphabetical order * * @param userAccount user publickey or string */ getParsedAllUserDomains(userAccount: PublicKey | string, concurrency?: number): Promise; /** * Get a single record for a domain. * * @param domainTld Full domain like "miester.mon" or "miester.poor" * @param record The record type to fetch */ getRecord(domainTld: string, record: Record): Promise; /** * Get multiple records for a domain (batched). * * @param domainTld Full domain like "miester.mon" * @param records Array of record types (default: all records) */ getRecords(domainTld: string, records?: Record[]): Promise; /** * Get resolved avatar URL (IPFS/Arweave → HTTP gateway). * * @param domainTld Full domain like "miester.mon" * @param options Gateway URLs for IPFS/Arweave */ getAvatar(domainTld: string, options?: AvatarOptions): Promise; /** * Get main domains for multiple addresses. * * @param addresses Array of wallet addresses */ getMainDomains(_addresses: string[]): Promise<(string | null)[]>; } //# sourceMappingURL=parsers.d.ts.map