type addDomainProps = { domainName: string; bounceDomainPrefix: string; agentKeys?: string[]; }; type updateDomainProps = { domainKey: string; newDomainName?: string; newBounceDomainPrefix?: string; associateAgents?: string[]; disassociateAgents?: string[]; }; interface DkimRecord { public_key: string; host: string; selector: number; status: "verified" | "unverified"; /** Present only when DKIM has been verified. */ verified_time?: string; } interface CnameRecord { host: string; cname_record: string; status: "verified" | "unverified"; } /** Minimal domain shape returned in list responses. */ interface DomainSummary { domain_key: string; domain_name: string; associated_mailagents: string[]; is_restricted_senders: boolean; status: "verified" | "unverified"; } /** Full domain shape returned in detail / add / update / verify responses. */ interface DomainDetail extends DomainSummary { dkim: DkimRecord; cname: CnameRecord; } interface GetAllDomainsResponse { data: DomainSummary[]; status: "success"; } interface GetDomainDetailsResponse { data: DomainDetail[]; status: "success"; } interface DomainDetailResponse { data: DomainDetail; status: "success"; } export type { ResponseType } from "../BaseModel/types"; export type { addDomainProps, updateDomainProps, DkimRecord, CnameRecord, DomainSummary, DomainDetail, GetAllDomainsResponse, GetDomainDetailsResponse, DomainDetailResponse };