import { IDnsProvider, DnsZoneInfo, DnsRecordInfo, CreateDnsRecordConfig, UpdateDnsRecordConfig } from '../../interfaces/dns-provider.interface';
import { ICredentialProvider } from '../../interfaces/credential-provider.interface';
export declare class ScalewayDnsService implements IDnsProvider {
    private readonly credentialProvider;
    private readonly logger;
    constructor(credentialProvider: ICredentialProvider);
    private createZonesApi;
    private createRecordsApi;
    listZones(): Promise<DnsZoneInfo[]>;
    getZone(zoneId: string): Promise<DnsZoneInfo | null>;
    getZoneByName(name: string): Promise<DnsZoneInfo | null>;
    listRecords(zoneId: string): Promise<DnsRecordInfo[]>;
    getRecord(zoneId: string, recordId: string): Promise<DnsRecordInfo | null>;
    createRecord(config: CreateDnsRecordConfig): Promise<DnsRecordInfo>;
    updateRecord(config: UpdateDnsRecordConfig): Promise<DnsRecordInfo>;
    deleteRecord(zoneId: string, recordId: string): Promise<void>;
    bulkCreateRecords(zoneId: string, records: CreateDnsRecordConfig[]): Promise<DnsRecordInfo[]>;
    testConnection(): Promise<{
        success: boolean;
        error?: string;
    }>;
    private mapZone;
    private mapRecord;
}
