interface Domain { name: string; subdomain: string; registrar: unknown; meta: Record; records: DNSRecord[]; dnsProviders: Record; defaultTTL: number; nameservers: unknown[]; ignored_names: unknown[]; ignored_targets: unknown[]; [key: string]: unknown; } interface DNSRecord { type: string; meta: Record; ttl: number; } type DomainModifier = | ((domain: Domain) => void) | Partial | DomainModifier[]; type RecordModifier = | ((record: DNSRecord) => void) | Partial; type Duration = | `${number}${'s' | 'm' | 'h' | 'd' | 'w' | 'n' | 'y' | ''}` | number /* seconds */;