import { BaseModel } from "../BaseModel/BaseModel"; import type { addDomainProps, updateDomainProps, GetAllDomainsResponse, GetDomainDetailsResponse, DomainDetailResponse } from "./types"; declare class DomainClient extends BaseModel { basePath: string; /** * Retrieves a list of all domains associated with the account. */ getAllDomains(): Promise; /** * Fetches the details of a specific domain. * * @param domainKey - The unique key identifying the domain. */ getDomainDetails({ domainKey }: { domainKey: string; }): Promise; /** * Adds a new domain to the account. * * @param domainName - The domain name to add. * @param bounceDomainPrefix - Prefix used to form the bounce sub-domain (e.g. `"bounce-zem"`). * @param agentKeys - Optional list of agent keys to associate with the domain. */ addDomain(prop: addDomainProps | null): Promise; /** * Updates the details of an existing domain. * At least one of `newDomainName`, `newBounceDomainPrefix`, `associateAgents`, * or `disassociateAgents` must be provided. * * @param domainKey - The unique key identifying the domain to update. * @param newDomainName - Optional new domain name. * @param newBounceDomainPrefix - Optional new bounce domain prefix. * @param associateAgents - Optional agent keys to associate with the domain. * @param disassociateAgents - Optional agent keys to disassociate from the domain. */ updateDomain(props: updateDomainProps | null): Promise; /** * Initiates domain verification for the specified domain. * * @param domainKey - The unique key identifying the domain to verify. */ verifyDomain({ domainKey }: { domainKey: string; }): Promise; /** * Permanently deletes the specified domain from the account. * * @param domainKey - The unique key identifying the domain to delete. */ deleteDomain({ domainKey }: { domainKey: string; }): Promise; } export { DomainClient };