import 'package:selfprivacy/logic/api_maps/generic_result.dart'; import 'package:selfprivacy/logic/api_maps/rest_maps/dns_providers/desired_dns_record.dart'; import 'package:selfprivacy/logic/models/hive/server_domain.dart'; import 'package:selfprivacy/logic/models/json/dns_records.dart'; export 'package:selfprivacy/logic/api_maps/generic_result.dart'; abstract class DnsProvider { DnsProviderType get type; Future> tryInitApiByToken(final String token); Future> getZoneId(final String domain); Future> removeDomainRecords({ required final ServerDomain domain, final String? ip4, }); Future>> getDnsRecords({ required final ServerDomain domain, }); Future> createDomainRecords({ required final ServerDomain domain, final String? ip4, }); Future> setDnsRecord( final DnsRecord record, final ServerDomain domain, ); Future>> domainList(); Future>> validateDnsRecords( final ServerDomain domain, final String ip4, final String dkimPublicKey, ); List getDesiredDnsRecords( final String? domainName, final String? ip4, final String? dkimPublicKey, ); }