import { APIResponse } from '../../Types/Common'; import { ClickTrackingInfo, ConnectionSettings, DKIMAuthorityInfo, DKIMSelectorInfo, DomainInfo, DomainsQuery, DomainTrackingData, DomainUpdateInfo, MessageResponse, OpenTrackingInfo, ReplacementForPool, TDomain, UnsubscribeTrackingInfo, UpdatedConnectionSettings, UpdatedDKIMAuthority, UpdatedDKIMSelectorResponse, UpdatedOpenTracking, UpdatedWebPrefixResponse, WebPrefixInfo } from '../../Types/Domains'; import { IDomainCredentials } from './DomainCredentials'; import { IDomainTagsClient } from './DomainTags'; import { IDomainTemplatesClient } from './DomainTemplates'; export interface IDomainsClient { domainCredentials: IDomainCredentials; domainTemplates: IDomainTemplatesClient; domainTags: IDomainTagsClient; list(query?: DomainsQuery): Promise; get(domain: string): Promise; create(data: DomainInfo): Promise; update(domain: string, data: DomainUpdateInfo): Promise; verify(domain: string): Promise; destroy(domain: string): Promise; getConnection(domain: string): Promise; updateConnection(domain: string, data: ConnectionSettings): Promise; getTracking(domain: string): Promise; updateTracking(domain: string, type: string, data: OpenTrackingInfo | ClickTrackingInfo | UnsubscribeTrackingInfo): Promise; getIps(domain: string): Promise; assignIp(domain: string, ip: string): Promise; deleteIp(domain: string, ip: string): Promise; linkIpPool(domain: string, pool_id: string): Promise; unlinkIpPoll(domain: string, replacement: ReplacementForPool): Promise; updateDKIMAuthority(domain: string, data: DKIMAuthorityInfo): Promise; updateDKIMSelector(domain: string, data: DKIMSelectorInfo): Promise; updateWebPrefix(domain: string, data: WebPrefixInfo): Promise; }