import type { IDnsProviderClient, IConnectionTestResult, IProviderRecord, IProviderRecordInput } from './interfaces.js'; import type { IProviderDomainListing } from '../../../dist_ts_interfaces/data/dns-provider.js'; /** * Cloudflare implementation of IDnsProviderClient. * * Wraps `@apiclient.xyz/cloudflare`. Records at Cloudflare are addressed by * an internal record id, which we surface as `providerRecordId` so the rest * of the system can issue updates and deletes without ambiguity (Cloudflare * can have multiple records of the same name+type). */ export declare class CloudflareDnsProvider implements IDnsProviderClient { private cfAccount; private recordListingPromises; constructor(apiToken: string); testConnection(): Promise; listDomains(): Promise; listRecords(domain: string): Promise; listRecordIds(domain: string): Promise; private listApiRecords; createRecord(domain: string, record: IProviderRecordInput): Promise; updateRecord(domain: string, providerRecordId: string, record: IProviderRecordInput): Promise; deleteRecord(domain: string, providerRecordId: string): Promise; private isSupportedType; private toApiRecordValue; private fromApiRecord; private isValidHostname; private isValidMxExchange; }