import { APIResource } from 'cloudflaredev/resource';
import * as RecordsAPI from 'cloudflaredev/resources/dns/records';
import * as AnalyticsAPI from 'cloudflaredev/resources/dns/analytics/analytics';
import * as FirewallAPI from 'cloudflaredev/resources/dns/firewall/firewall';
import * as AnalyticsAnalyticsAPI from 'cloudflaredev/resources/dns/firewall/analytics/analytics';
export declare class DNS extends APIResource {
    records: RecordsAPI.Records;
    analytics: AnalyticsAPI.Analytics;
    firewall: FirewallAPI.FirewallResource;
}
/**
 * Nominal metric values, broken down by time interval.
 */
export type DNSAnalyticsNominalMetric = Array<unknown>;
export interface DNSAnalyticsQuery {
    /**
     * Array of dimension names.
     */
    dimensions: Array<string>;
    /**
     * Limit number of returned metrics.
     */
    limit: number;
    /**
     * Array of metric names.
     */
    metrics: Array<string>;
    /**
     * Start date and time of requesting data period in ISO 8601 format.
     */
    since: string;
    /**
     * Unit of time to group data by.
     */
    time_delta: AnalyticsAnalyticsAPI.Delta;
    /**
     * End date and time of requesting data period in ISO 8601 format.
     */
    until: string;
    /**
     * Segmentation filter in 'attribute operator value' format.
     */
    filters?: string;
    /**
     * Array of dimensions to sort by, where each dimension may be prefixed by -
     * (descending) or + (ascending).
     */
    sort?: Array<string>;
}
export declare namespace DNS {
    export import Records = RecordsAPI.Records;
    export import ARecord = RecordsAPI.ARecord;
    export import AAAARecord = RecordsAPI.AAAARecord;
    export import CAARecord = RecordsAPI.CAARecord;
    export import CERTRecord = RecordsAPI.CERTRecord;
    export import CNAMERecord = RecordsAPI.CNAMERecord;
    export import DNSKEYRecord = RecordsAPI.DNSKEYRecord;
    export import DSRecord = RecordsAPI.DSRecord;
    export import HTTPSRecord = RecordsAPI.HTTPSRecord;
    export import LOCRecord = RecordsAPI.LOCRecord;
    export import MXRecord = RecordsAPI.MXRecord;
    export import NAPTRRecord = RecordsAPI.NAPTRRecord;
    export import NSRecord = RecordsAPI.NSRecord;
    export import PTRRecord = RecordsAPI.PTRRecord;
    export import Record = RecordsAPI.Record;
    export import RecordMetadata = RecordsAPI.RecordMetadata;
    export import RecordProcessTiming = RecordsAPI.RecordProcessTiming;
    export import RecordTags = RecordsAPI.RecordTags;
    export import SMIMEARecord = RecordsAPI.SMIMEARecord;
    export import SRVRecord = RecordsAPI.SRVRecord;
    export import SSHFPRecord = RecordsAPI.SSHFPRecord;
    export import SVCBRecord = RecordsAPI.SVCBRecord;
    export import TLSARecord = RecordsAPI.TLSARecord;
    export import TTL = RecordsAPI.TTL;
    export import TXTRecord = RecordsAPI.TXTRecord;
    export import URIRecord = RecordsAPI.URIRecord;
    export import RecordDeleteResponse = RecordsAPI.RecordDeleteResponse;
    export import RecordExportResponse = RecordsAPI.RecordExportResponse;
    export import RecordImportResponse = RecordsAPI.RecordImportResponse;
    export import RecordScanResponse = RecordsAPI.RecordScanResponse;
    export import RecordsV4PagePaginationArray = RecordsAPI.RecordsV4PagePaginationArray;
    export import RecordCreateParams = RecordsAPI.RecordCreateParams;
    export import RecordUpdateParams = RecordsAPI.RecordUpdateParams;
    export import RecordListParams = RecordsAPI.RecordListParams;
    export import RecordDeleteParams = RecordsAPI.RecordDeleteParams;
    export import RecordEditParams = RecordsAPI.RecordEditParams;
    export import RecordExportParams = RecordsAPI.RecordExportParams;
    export import RecordGetParams = RecordsAPI.RecordGetParams;
    export import RecordImportParams = RecordsAPI.RecordImportParams;
    export import RecordScanParams = RecordsAPI.RecordScanParams;
    export import Analytics = AnalyticsAPI.Analytics;
    export import FirewallResource = FirewallAPI.FirewallResource;
    export import AttackMitigation = FirewallAPI.AttackMitigation;
    export import Firewall = FirewallAPI.Firewall;
    export import FirewallIPs = FirewallAPI.FirewallIPs;
    export import UpstreamIPs = FirewallAPI.UpstreamIPs;
    export import FirewallDeleteResponse = FirewallAPI.FirewallDeleteResponse;
    export import FirewallsV4PagePaginationArray = FirewallAPI.FirewallsV4PagePaginationArray;
    export import FirewallCreateParams = FirewallAPI.FirewallCreateParams;
    export import FirewallListParams = FirewallAPI.FirewallListParams;
    export import FirewallDeleteParams = FirewallAPI.FirewallDeleteParams;
    export import FirewallEditParams = FirewallAPI.FirewallEditParams;
    export import FirewallGetParams = FirewallAPI.FirewallGetParams;
}
//# sourceMappingURL=dns.d.ts.map