import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as DEXTestsAPI from 'cloudflare/resources/zero-trust/devices/dex-tests';
import { SinglePage } from 'cloudflare/pagination';
export declare class DEXTests extends APIResource {
    /**
     * Create a DEX test.
     */
    create(params: DEXTestCreateParams, options?: Core.RequestOptions): Core.APIPromise<DEXTestSchemasHTTP | null>;
    /**
     * Update a DEX test.
     */
    update(dexTestId: string, params: DEXTestUpdateParams, options?: Core.RequestOptions): Core.APIPromise<DEXTestSchemasHTTP | null>;
    /**
     * Fetch all DEX tests.
     */
    list(params: DEXTestListParams, options?: Core.RequestOptions): Core.PagePromise<DEXTestSchemasHTTPSSinglePage, DEXTestSchemasHTTP>;
    /**
     * Delete a Device DEX test. Returns the remaining device dex tests for the
     * account.
     */
    delete(dexTestId: string, params: DEXTestDeleteParams, options?: Core.RequestOptions): Core.APIPromise<DEXTestDeleteResponse | null>;
    /**
     * Fetch a single DEX test.
     */
    get(dexTestId: string, params: DEXTestGetParams, options?: Core.RequestOptions): Core.APIPromise<DEXTestSchemasHTTP | null>;
}
export declare class DEXTestSchemasHTTPSSinglePage extends SinglePage<DEXTestSchemasHTTP> {
}
export interface DEXTestSchemasHTTP {
    /**
     * The configuration object which contains the details for the WARP client to
     * conduct the test.
     */
    data: DEXTestSchemasHTTP.Data;
    /**
     * Determines whether or not the test is active.
     */
    enabled: boolean;
    /**
     * How often the test will run.
     */
    interval: string;
    /**
     * The name of the DEX test. Must be unique.
     */
    name: string;
    /**
     * Additional details about the test.
     */
    description?: string;
}
export declare namespace DEXTestSchemasHTTP {
    /**
     * The configuration object which contains the details for the WARP client to
     * conduct the test.
     */
    interface Data {
        /**
         * The desired endpoint to test.
         */
        host?: string;
        /**
         * The type of test.
         */
        kind?: string;
        /**
         * The HTTP request method type.
         */
        method?: string;
    }
}
export type DEXTestDeleteResponse = Array<DEXTestSchemasHTTP>;
export interface DEXTestCreateParams {
    /**
     * Path param:
     */
    account_id: string;
    /**
     * Body param: The configuration object which contains the details for the WARP
     * client to conduct the test.
     */
    data: DEXTestCreateParams.Data;
    /**
     * Body param: Determines whether or not the test is active.
     */
    enabled: boolean;
    /**
     * Body param: How often the test will run.
     */
    interval: string;
    /**
     * Body param: The name of the DEX test. Must be unique.
     */
    name: string;
    /**
     * Body param: Additional details about the test.
     */
    description?: string;
}
export declare namespace DEXTestCreateParams {
    /**
     * The configuration object which contains the details for the WARP client to
     * conduct the test.
     */
    interface Data {
        /**
         * The desired endpoint to test.
         */
        host?: string;
        /**
         * The type of test.
         */
        kind?: string;
        /**
         * The HTTP request method type.
         */
        method?: string;
    }
}
export interface DEXTestUpdateParams {
    /**
     * Path param:
     */
    account_id: string;
    /**
     * Body param: The configuration object which contains the details for the WARP
     * client to conduct the test.
     */
    data: DEXTestUpdateParams.Data;
    /**
     * Body param: Determines whether or not the test is active.
     */
    enabled: boolean;
    /**
     * Body param: How often the test will run.
     */
    interval: string;
    /**
     * Body param: The name of the DEX test. Must be unique.
     */
    name: string;
    /**
     * Body param: Additional details about the test.
     */
    description?: string;
}
export declare namespace DEXTestUpdateParams {
    /**
     * The configuration object which contains the details for the WARP client to
     * conduct the test.
     */
    interface Data {
        /**
         * The desired endpoint to test.
         */
        host?: string;
        /**
         * The type of test.
         */
        kind?: string;
        /**
         * The HTTP request method type.
         */
        method?: string;
    }
}
export interface DEXTestListParams {
    account_id: string;
}
export interface DEXTestDeleteParams {
    account_id: string;
}
export interface DEXTestGetParams {
    account_id: string;
}
export declare namespace DEXTests {
    export import DEXTestSchemasHTTP = DEXTestsAPI.DEXTestSchemasHTTP;
    export import DEXTestDeleteResponse = DEXTestsAPI.DEXTestDeleteResponse;
    export import DEXTestSchemasHTTPSSinglePage = DEXTestsAPI.DEXTestSchemasHTTPSSinglePage;
    export import DEXTestCreateParams = DEXTestsAPI.DEXTestCreateParams;
    export import DEXTestUpdateParams = DEXTestsAPI.DEXTestUpdateParams;
    export import DEXTestListParams = DEXTestsAPI.DEXTestListParams;
    export import DEXTestDeleteParams = DEXTestsAPI.DEXTestDeleteParams;
    export import DEXTestGetParams = DEXTestsAPI.DEXTestGetParams;
}
//# sourceMappingURL=dex-tests.d.ts.map