import type { IDnsChallenge } from './dnschallenge.js'

export interface IConvenientDnsProvider {
  convenience: {
    /**
     * Create the TXT record for an ACME DNS-01 challenge.
     */
    acmeSetDnsChallenge(dnsChallengeArg: IDnsChallenge): Promise<void>;

    /**
     * Remove the TXT record for an ACME DNS-01 challenge.
     */
    acmeRemoveDnsChallenge(dnsChallengeArg: IDnsChallenge): Promise<void>;

    /**
     * Check whether this DNS provider can serve the given domain.
     */
    isDomainSupported(domain: string): Promise<boolean>;
  };
}
