import { PublicKey, Connection } from '@solana/web3.js'; import { MainDomain } from './state/main-domain'; import { NameRecordHeader } from './state/name-record-header'; import { NameAccountAndDomain } from './name-record-handler'; import { ITldParser } from '../parsers.interface'; import { Record, RecordResult, AvatarOptions } from '../types/records'; export declare class TldParserSvm implements ITldParser { connection: Connection; constructor(connection: Connection); /** * 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 * @param tld tld to be retrieved from */ 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 * @param tld tld to be retrieved from */ getParsedAllUserDomains(userAccount: PublicKey | string, concurrency?: number): Promise; /** * Get a single record for a domain. * Uses sub-account derivation: Record.Twitter + "." + domain → "Twitter.miester.poor" * * @param domainTld Full domain like "miester.poor" * @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 (batched using getMultipleAccountsInfo). * * @param domainTld Full domain like "miester.poor" * @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 Pic record and resolves IPFS/Arweave URLs to HTTP. * * @param domainTld Full domain like "miester.poor" * @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 getMultipleMainDomainsChecked for efficiency. * * @param addresses Array of wallet addresses (PublicKey strings) * @returns Array of main domain names (null for addresses without main domain) */ getMainDomains(addresses: string[]): Promise<(string | null)[]>; } //# sourceMappingURL=parsers.d.ts.map