import type { DeleteDnsRecordInput, DnsRecordSummary, ListDnsRecordsInput, ListableDnsProvider, UpsertDnsRecordInput } from '../DnsProvider'; export interface CloudflareDnsProviderOptions { /** Cloudflare API Token(推荐使用受限 Token) */ apiToken?: string | null; /** Zone ID,如果不提供会自动查找 */ zoneId?: string | null; /** API 根地址,默认为 `https://api.cloudflare.com/client/v4` */ baseUrl?: string | null; /** HTTP 请求超时毫秒数,默认 10s */ timeoutMs?: number | string | null; } /** * 基于 Cloudflare API v4 的 DNS 提供方实现。 */ export declare class CloudflareDnsProvider implements ListableDnsProvider { private readonly logger; private readonly apiToken; private readonly baseUrl; private readonly timeoutMs; private readonly enabled; private readonly configuredZoneId?; /** 缓存 domain -> zoneId 的映射 */ private readonly zoneIdCache; constructor(options: CloudflareDnsProviderOptions); upsertRecord(options: UpsertDnsRecordInput): Promise; deleteRecord(options: DeleteDnsRecordInput): Promise; listRecords(options: ListDnsRecordsInput): Promise; /** * 获取 Zone ID,优先使用配置的,否则自动查找 * 支持从子域名向上递归查找 Zone */ private getZoneId; /** * 查找现有 DNS 记录 */ private findRecord; /** * 调用 Cloudflare API */ private callApi; /** * 构建完整域名 */ private buildFullName; /** * 转换为通用记录摘要 */ private toRecordSummary; private normalizeString; private normalizeTimeout; }