import type { DnsRecord, DnsRecordToDelete, OrderBy, DomainOrderBy, ListDnsRecordsResponse, Domain, ListDomainsResponse, DomainAvailability, Contact, SaveContactResponse, DomainContactIds, DomainRegistrationRequest, DomainRenewalRequest, DomainTransferRequest, TransferStatus, AuthCodeResponse, AsyncOperation, PersonalNameserver, SellerHubDomain, SellerHubPrice, ListSellerHubDomainsResponse, CreateSellerHubDomainRequest, CreateCheckoutLinkRequest, SellerHubCheckoutLink, SellerHubVerificationResponse } from "./types.js"; export declare class SpaceshipApiError extends Error { readonly status: number; readonly details?: unknown | undefined; constructor(message: string, status: number, details?: unknown | undefined); } export interface RetryOptions { maxRetries: number; } export declare class SpaceshipClient { private readonly baseUrl; private readonly apiKey; private readonly apiSecret; private readonly retry; private readonly cache; private readonly cachingEnabled; constructor(apiKey: string, apiSecret: string, baseUrl?: string, cacheTtlMs?: number, retry?: RetryOptions); private cachedRequest; listDnsRecords(domain: string, options: { take: number; skip: number; orderBy?: OrderBy; }): Promise; listAllDnsRecords(domain: string, orderBy?: OrderBy): Promise; saveDnsRecords(domain: string, records: DnsRecord[]): Promise; deleteDnsRecords(domain: string, records: DnsRecordToDelete[]): Promise; listDomains(options: { take: number; skip: number; orderBy?: DomainOrderBy; }): Promise; listAllDomains(orderBy?: DomainOrderBy): Promise; getDomain(domain: string): Promise; deleteDomain(domain: string): Promise; checkDomainAvailability(domain: string): Promise; checkDomainsAvailability(domains: string[]): Promise; private toAvailability; updateNameservers(domain: string, nameservers: string[], provider?: "basic" | "custom"): Promise; setAutoRenew(domain: string, enabled: boolean): Promise; setTransferLock(domain: string, locked: boolean): Promise; getAuthCode(domain: string): Promise; registerDomain(domain: string, options: DomainRegistrationRequest): Promise<{ operationId: string; }>; renewDomain(domain: string, options: DomainRenewalRequest): Promise<{ operationId: string; }>; restoreDomain(domain: string): Promise<{ operationId: string; }>; transferDomain(domain: string, options: DomainTransferRequest): Promise<{ operationId: string; }>; getTransferStatus(domain: string): Promise; setPrivacyLevel(domain: string, level: "high" | "public", userConsent: boolean): Promise; setEmailProtection(domain: string, contactForm: boolean): Promise; updateDomainContacts(domain: string, contacts: DomainContactIds): Promise<{ verificationStatus: string | null; }>; saveContact(contact: Contact): Promise; getContact(contactId: string): Promise; saveContactAttributes(attributes: Record): Promise<{ contactId: string; }>; getContactAttributes(contactId: string): Promise>; getAsyncOperation(operationId: string): Promise; listPersonalNameservers(domain: string): Promise; getPersonalNameserver(domain: string, host: string): Promise; updatePersonalNameserver(domain: string, host: string, ips: string[]): Promise; deletePersonalNameserver(domain: string, host: string): Promise; listSellerHubDomains(options: { take: number; skip: number; }): Promise; listAllSellerHubDomains(): Promise; createSellerHubDomain(data: CreateSellerHubDomainRequest): Promise; getSellerHubDomain(name: string): Promise; updateSellerHubDomain(name: string, data: { displayName?: string; description?: string; binPriceEnabled?: boolean; binPrice?: SellerHubPrice; minPriceEnabled?: boolean; minPrice?: SellerHubPrice; }): Promise; deleteSellerHubDomain(name: string): Promise; createCheckoutLink(data: CreateCheckoutLinkRequest): Promise; getVerificationRecords(): Promise; private buildRecordPayload; private paginate; private static parseBody; private rawRequest; private request; private requestWithAsyncHeader; }