import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as TimeseriesGroupsAPI from 'cloudflare/resources/radar/email/security/timeseries-groups';
export declare class TimeseriesGroups extends APIResource {
    /**
     * Percentage distribution of emails classified per Arc validation over time.
     */
    arc(query?: TimeseriesGroupARCParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupARCResponse>;
    arc(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupARCResponse>;
    /**
     * Percentage distribution of emails classified per DKIM validation over time.
     */
    dkim(query?: TimeseriesGroupDKIMParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupDKIMResponse>;
    dkim(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupDKIMResponse>;
    /**
     * Percentage distribution of emails classified per DMARC validation over time.
     */
    dmarc(query?: TimeseriesGroupDMARCParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupDMARCResponse>;
    dmarc(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupDMARCResponse>;
    /**
     * Percentage distribution of emails classified as MALICIOUS over time.
     */
    malicious(query?: TimeseriesGroupMaliciousParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupMaliciousResponse>;
    malicious(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupMaliciousResponse>;
    /**
     * Percentage distribution of emails classified as SPAM over time.
     */
    spam(query?: TimeseriesGroupSpamParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupSpamResponse>;
    spam(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupSpamResponse>;
    /**
     * Percentage distribution of emails classified per SPF validation over time.
     */
    spf(query?: TimeseriesGroupSPFParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupSPFResponse>;
    spf(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupSPFResponse>;
    /**
     * Percentage distribution of emails classified as SPOOF over time.
     */
    spoof(query?: TimeseriesGroupSpoofParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupSpoofResponse>;
    spoof(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupSpoofResponse>;
    /**
     * Percentage distribution of emails classified in Threat Categories over time.
     */
    threatCategory(query?: TimeseriesGroupThreatCategoryParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupThreatCategoryResponse>;
    threatCategory(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupThreatCategoryResponse>;
    /**
     * Percentage distribution of emails classified per TLS Version over time.
     */
    tlsVersion(query?: TimeseriesGroupTLSVersionParams, options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupTLSVersionResponse>;
    tlsVersion(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupTLSVersionResponse>;
}
export interface TimeseriesGroupARCResponse {
    meta: unknown;
    serie_0: TimeseriesGroupARCResponse.Serie0;
}
export declare namespace TimeseriesGroupARCResponse {
    interface Serie0 {
        FAIL: Array<string>;
        NONE: Array<string>;
        PASS: Array<string>;
    }
}
export interface TimeseriesGroupDKIMResponse {
    meta: unknown;
    serie_0: TimeseriesGroupDKIMResponse.Serie0;
}
export declare namespace TimeseriesGroupDKIMResponse {
    interface Serie0 {
        FAIL: Array<string>;
        NONE: Array<string>;
        PASS: Array<string>;
    }
}
export interface TimeseriesGroupDMARCResponse {
    meta: unknown;
    serie_0: TimeseriesGroupDMARCResponse.Serie0;
}
export declare namespace TimeseriesGroupDMARCResponse {
    interface Serie0 {
        FAIL: Array<string>;
        NONE: Array<string>;
        PASS: Array<string>;
    }
}
export interface TimeseriesGroupMaliciousResponse {
    meta: unknown;
    serie_0: TimeseriesGroupMaliciousResponse.Serie0;
}
export declare namespace TimeseriesGroupMaliciousResponse {
    interface Serie0 {
        MALICIOUS: Array<string>;
        NOT_MALICIOUS: Array<string>;
    }
}
export interface TimeseriesGroupSpamResponse {
    meta: unknown;
    serie_0: TimeseriesGroupSpamResponse.Serie0;
}
export declare namespace TimeseriesGroupSpamResponse {
    interface Serie0 {
        NOT_SPAM: Array<string>;
        SPAM: Array<string>;
    }
}
export interface TimeseriesGroupSPFResponse {
    meta: unknown;
    serie_0: TimeseriesGroupSPFResponse.Serie0;
}
export declare namespace TimeseriesGroupSPFResponse {
    interface Serie0 {
        FAIL: Array<string>;
        NONE: Array<string>;
        PASS: Array<string>;
    }
}
export interface TimeseriesGroupSpoofResponse {
    meta: unknown;
    serie_0: TimeseriesGroupSpoofResponse.Serie0;
}
export declare namespace TimeseriesGroupSpoofResponse {
    interface Serie0 {
        NOT_SPOOF: Array<string>;
        SPOOF: Array<string>;
    }
}
export interface TimeseriesGroupThreatCategoryResponse {
    meta: unknown;
    serie_0: TimeseriesGroupThreatCategoryResponse.Serie0;
}
export declare namespace TimeseriesGroupThreatCategoryResponse {
    interface Serie0 {
        BrandImpersonation: Array<string>;
        CredentialHarvester: Array<string>;
        IdentityDeception: Array<string>;
        Link: Array<string>;
    }
}
export interface TimeseriesGroupTLSVersionResponse {
    meta: unknown;
    serie_0: TimeseriesGroupTLSVersionResponse.Serie0;
}
export declare namespace TimeseriesGroupTLSVersionResponse {
    interface Serie0 {
        'TLS 1.0': Array<string>;
        'TLS 1.1': Array<string>;
        'TLS 1.2': Array<string>;
        'TLS 1.3': Array<string>;
    }
}
export interface TimeseriesGroupARCParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupDKIMParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupDMARCParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupMaliciousParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupSpamParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupSPFParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupSpoofParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupThreatCategoryParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for tls version.
     */
    tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3'>;
}
export interface TimeseriesGroupTLSVersionParams {
    /**
     * Aggregation interval results should be returned in (for example, in 15 minutes
     * or 1 hour intervals). Refer to
     * [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
     */
    aggInterval?: '15m' | '1h' | '1d' | '1w';
    /**
     * Filter for arc (Authenticated Received Chain).
     */
    arc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * End of the date range (inclusive).
     */
    dateEnd?: Array<string>;
    /**
     * For example, use `7d` and `7dControl` to compare this week with the previous
     * week. Use this parameter or set specific start and end dates (`dateStart` and
     * `dateEnd` parameters).
     */
    dateRange?: Array<'1d' | '2d' | '7d' | '14d' | '28d' | '12w' | '24w' | '52w' | '1dControl' | '2dControl' | '7dControl' | '14dControl' | '28dControl' | '12wControl' | '24wControl'>;
    /**
     * Array of datetimes to filter the start of a series.
     */
    dateStart?: Array<string>;
    /**
     * Filter for dkim.
     */
    dkim?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Filter for dmarc.
     */
    dmarc?: Array<'PASS' | 'NONE' | 'FAIL'>;
    /**
     * Format results are returned in.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Array of names that will be used to name the series in responses.
     */
    name?: Array<string>;
    /**
     * Filter for spf.
     */
    spf?: Array<'PASS' | 'NONE' | 'FAIL'>;
}
export declare namespace TimeseriesGroups {
    export import TimeseriesGroupARCResponse = TimeseriesGroupsAPI.TimeseriesGroupARCResponse;
    export import TimeseriesGroupDKIMResponse = TimeseriesGroupsAPI.TimeseriesGroupDKIMResponse;
    export import TimeseriesGroupDMARCResponse = TimeseriesGroupsAPI.TimeseriesGroupDMARCResponse;
    export import TimeseriesGroupMaliciousResponse = TimeseriesGroupsAPI.TimeseriesGroupMaliciousResponse;
    export import TimeseriesGroupSpamResponse = TimeseriesGroupsAPI.TimeseriesGroupSpamResponse;
    export import TimeseriesGroupSPFResponse = TimeseriesGroupsAPI.TimeseriesGroupSPFResponse;
    export import TimeseriesGroupSpoofResponse = TimeseriesGroupsAPI.TimeseriesGroupSpoofResponse;
    export import TimeseriesGroupThreatCategoryResponse = TimeseriesGroupsAPI.TimeseriesGroupThreatCategoryResponse;
    export import TimeseriesGroupTLSVersionResponse = TimeseriesGroupsAPI.TimeseriesGroupTLSVersionResponse;
    export import TimeseriesGroupARCParams = TimeseriesGroupsAPI.TimeseriesGroupARCParams;
    export import TimeseriesGroupDKIMParams = TimeseriesGroupsAPI.TimeseriesGroupDKIMParams;
    export import TimeseriesGroupDMARCParams = TimeseriesGroupsAPI.TimeseriesGroupDMARCParams;
    export import TimeseriesGroupMaliciousParams = TimeseriesGroupsAPI.TimeseriesGroupMaliciousParams;
    export import TimeseriesGroupSpamParams = TimeseriesGroupsAPI.TimeseriesGroupSpamParams;
    export import TimeseriesGroupSPFParams = TimeseriesGroupsAPI.TimeseriesGroupSPFParams;
    export import TimeseriesGroupSpoofParams = TimeseriesGroupsAPI.TimeseriesGroupSpoofParams;
    export import TimeseriesGroupThreatCategoryParams = TimeseriesGroupsAPI.TimeseriesGroupThreatCategoryParams;
    export import TimeseriesGroupTLSVersionParams = TimeseriesGroupsAPI.TimeseriesGroupTLSVersionParams;
}
//# sourceMappingURL=timeseries-groups.d.ts.map