import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as PercentilesAPI from 'cloudflare/resources/zero-trust/dex/http-tests/percentiles';
export declare class Percentiles extends APIResource {
    /**
     * Get percentiles for an http test for a given time period between 1 hour and 7
     * days.
     */
    get(testId: string, params: PercentileGetParams, options?: Core.RequestOptions): Core.APIPromise<DigitalExperienceMonitoringHTTPDetailsPercentiles>;
}
export interface DigitalExperienceMonitoringHTTPDetailsPercentiles {
    dnsResponseTimeMs?: DigitalExperienceMonitoringHTTPDetailsPercentiles.DNSResponseTimeMs;
    resourceFetchTimeMs?: DigitalExperienceMonitoringHTTPDetailsPercentiles.ResourceFetchTimeMs;
    serverResponseTimeMs?: DigitalExperienceMonitoringHTTPDetailsPercentiles.ServerResponseTimeMs;
}
export declare namespace DigitalExperienceMonitoringHTTPDetailsPercentiles {
    interface DNSResponseTimeMs {
        /**
         * p50 observed in the time period
         */
        p50?: number | null;
        /**
         * p90 observed in the time period
         */
        p90?: number | null;
        /**
         * p95 observed in the time period
         */
        p95?: number | null;
        /**
         * p99 observed in the time period
         */
        p99?: number | null;
    }
    interface ResourceFetchTimeMs {
        /**
         * p50 observed in the time period
         */
        p50?: number | null;
        /**
         * p90 observed in the time period
         */
        p90?: number | null;
        /**
         * p95 observed in the time period
         */
        p95?: number | null;
        /**
         * p99 observed in the time period
         */
        p99?: number | null;
    }
    interface ServerResponseTimeMs {
        /**
         * p50 observed in the time period
         */
        p50?: number | null;
        /**
         * p90 observed in the time period
         */
        p90?: number | null;
        /**
         * p95 observed in the time period
         */
        p95?: number | null;
        /**
         * p99 observed in the time period
         */
        p99?: number | null;
    }
}
export interface PercentileGetParams {
    /**
     * Path param: unique identifier linked to an account in the API request path.
     */
    account_id: string;
    /**
     * Query param: End time for aggregate metrics in ISO format
     */
    timeEnd: string;
    /**
     * Query param: Start time for aggregate metrics in ISO format
     */
    timeStart: string;
    /**
     * Query param: Optionally filter result stats to a Cloudflare colo. Cannot be used
     * in combination with deviceId param.
     */
    colo?: string;
    /**
     * Query param: Optionally filter result stats to a specific device(s). Cannot be
     * used in combination with colo param.
     */
    deviceId?: Array<string>;
}
export declare namespace Percentiles {
    export import DigitalExperienceMonitoringHTTPDetailsPercentiles = PercentilesAPI.DigitalExperienceMonitoringHTTPDetailsPercentiles;
    export import PercentileGetParams = PercentilesAPI.PercentileGetParams;
}
//# sourceMappingURL=percentiles.d.ts.map