import { APIResource } from 'cloudflaredev/resource';
import * as DEXAPI from 'cloudflaredev/resources/zero-trust/dex/dex';
import * as ColosAPI from 'cloudflaredev/resources/zero-trust/dex/colos';
import * as TracerouteTestsAPI from 'cloudflaredev/resources/zero-trust/dex/traceroute-tests';
import * as FleetStatusAPI from 'cloudflaredev/resources/zero-trust/dex/fleet-status/fleet-status';
import * as HTTPTestsAPI from 'cloudflaredev/resources/zero-trust/dex/http-tests/http-tests';
import * as TestsAPI from 'cloudflaredev/resources/zero-trust/dex/tests/tests';
import * as TracerouteTestResultsAPI from 'cloudflaredev/resources/zero-trust/dex/traceroute-test-results/traceroute-test-results';
export declare class DEX extends APIResource {
    colos: ColosAPI.Colos;
    fleetStatus: FleetStatusAPI.FleetStatus;
    httpTests: HTTPTestsAPI.HTTPTests;
    tests: TestsAPI.Tests;
    tracerouteTestResults: TracerouteTestResultsAPI.TracerouteTestResults;
    tracerouteTests: TracerouteTestsAPI.TracerouteTests;
}
export interface DeviceExperienceMonitor {
    id: string;
    /**
     * Whether the policy is the default for the account
     */
    default: boolean;
    name: string;
}
export interface NetworkPath {
    slots: Array<NetworkPath.Slot>;
    /**
     * Specifies the sampling applied, if any, to the slots response. When sampled,
     * results shown represent the first test run to the start of each sampling
     * interval.
     */
    sampling?: NetworkPath.Sampling | null;
}
export declare namespace NetworkPath {
    interface Slot {
        /**
         * API Resource UUID tag.
         */
        id: string;
        /**
         * Round trip time in ms of the client to app mile
         */
        clientToAppRttMs: number | null;
        /**
         * Round trip time in ms of the client to Cloudflare egress mile
         */
        clientToCfEgressRttMs: number | null;
        /**
         * Round trip time in ms of the client to Cloudflare ingress mile
         */
        clientToCfIngressRttMs: number | null;
        timestamp: string;
        /**
         * Round trip time in ms of the client to ISP mile
         */
        clientToIspRttMs?: number | null;
    }
    /**
     * Specifies the sampling applied, if any, to the slots response. When sampled,
     * results shown represent the first test run to the start of each sampling
     * interval.
     */
    interface Sampling {
        unit: 'hours';
        value: number;
    }
}
export interface NetworkPathResponse {
    /**
     * API Resource UUID tag.
     */
    id: string;
    deviceName?: string;
    /**
     * The interval at which the Traceroute synthetic application test is set to run.
     */
    interval?: string;
    kind?: 'traceroute';
    name?: string;
    networkPath?: NetworkPath | null;
    /**
     * The host of the Traceroute synthetic application test
     */
    url?: string;
}
export interface Percentiles {
    /**
     * 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 declare namespace DEX {
    export import DeviceExperienceMonitor = DEXAPI.DeviceExperienceMonitor;
    export import NetworkPath = DEXAPI.NetworkPath;
    export import NetworkPathResponse = DEXAPI.NetworkPathResponse;
    export import Percentiles = DEXAPI.Percentiles;
    export import Colos = ColosAPI.Colos;
    export import ColoListResponse = ColosAPI.ColoListResponse;
    export import ColoListResponsesSinglePage = ColosAPI.ColoListResponsesSinglePage;
    export import ColoListParams = ColosAPI.ColoListParams;
    export import FleetStatus = FleetStatusAPI.FleetStatus;
    export import LiveStat = FleetStatusAPI.LiveStat;
    export import FleetStatusLiveResponse = FleetStatusAPI.FleetStatusLiveResponse;
    export import FleetStatusLiveParams = FleetStatusAPI.FleetStatusLiveParams;
    export import FleetStatusOverTimeParams = FleetStatusAPI.FleetStatusOverTimeParams;
    export import HTTPTests = HTTPTestsAPI.HTTPTests;
    export import HTTPDetails = HTTPTestsAPI.HTTPDetails;
    export import HTTPTestGetParams = HTTPTestsAPI.HTTPTestGetParams;
    export import Tests = TestsAPI.Tests;
    export import AggregateTimePeriod = TestsAPI.AggregateTimePeriod;
    export import TestListResponse = TestsAPI.TestListResponse;
    export import TestListResponsesV4PagePagination = TestsAPI.TestListResponsesV4PagePagination;
    export import TestListParams = TestsAPI.TestListParams;
    export import TracerouteTestResults = TracerouteTestResultsAPI.TracerouteTestResults;
    export import TracerouteTests = TracerouteTestsAPI.TracerouteTests;
    export import Traceroute = TracerouteTestsAPI.Traceroute;
    export import TracerouteTestPercentilesResponse = TracerouteTestsAPI.TracerouteTestPercentilesResponse;
    export import TracerouteTestGetParams = TracerouteTestsAPI.TracerouteTestGetParams;
    export import TracerouteTestNetworkPathParams = TracerouteTestsAPI.TracerouteTestNetworkPathParams;
    export import TracerouteTestPercentilesParams = TracerouteTestsAPI.TracerouteTestPercentilesParams;
}
//# sourceMappingURL=dex.d.ts.map