import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient";
import { type NormalizedClientOptions } from "../../../../../../BaseClient";
import * as core from "../../../../../../core";
import * as ElevenLabs from "../../../../../index";
import { FoldersClient } from "../resources/folders/client/Client";
import { InvocationsClient } from "../resources/invocations/client/Client";
export declare namespace TestsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class TestsClient {
    protected readonly _options: NormalizedClientOptions<TestsClient.Options>;
    protected _folders: FoldersClient | undefined;
    protected _invocations: InvocationsClient | undefined;
    constructor(options?: TestsClient.Options);
    get folders(): FoldersClient;
    get invocations(): InvocationsClient;
    /**
     * Creates a new agent response test.
     *
     * @param {ElevenLabs.conversationalAi.TestsCreateRequestBody} request
     * @param {TestsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.tests.create({
     *         type: "llm",
     *         name: "name"
     *     })
     */
    create(request: ElevenLabs.conversationalAi.TestsCreateRequestBody, requestOptions?: TestsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.CreateAgentTestResponseModel>;
    private __create;
    /**
     * Moves multiple tests or folders from one folder to another.
     *
     * @param {ElevenLabs.conversationalAi.BodyBulkMoveTestsToFolderV1ConvaiAgentTestingBulkMovePost} request
     * @param {TestsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.tests.move({
     *         entityIds: ["entity_ids"]
     *     })
     */
    move(request: ElevenLabs.conversationalAi.BodyBulkMoveTestsToFolderV1ConvaiAgentTestingBulkMovePost, requestOptions?: TestsClient.RequestOptions): core.HttpResponsePromise<unknown>;
    private __move;
    /**
     * Gets an agent response test by ID.
     *
     * @param {string} test_id - The id of a chat response test. This is returned on test creation.
     * @param {TestsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.tests.get("TeaqRRdTcIfIu2i7BYfT")
     */
    get(test_id: string, requestOptions?: TestsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.conversationalAi.TestsGetResponse>;
    private __get;
    /**
     * Updates an agent response test by ID.
     *
     * @param {string} test_id - The id of a chat response test. This is returned on test creation.
     * @param {ElevenLabs.conversationalAi.TestsUpdateRequestBody} request
     * @param {TestsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.tests.update("TeaqRRdTcIfIu2i7BYfT", {
     *         type: "llm",
     *         name: "name"
     *     })
     */
    update(test_id: string, request: ElevenLabs.conversationalAi.TestsUpdateRequestBody, requestOptions?: TestsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.conversationalAi.TestsUpdateResponse>;
    private __update;
    /**
     * Deletes an agent response test by ID.
     *
     * @param {string} test_id - The id of a chat response test. This is returned on test creation.
     * @param {TestsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.tests.delete("TeaqRRdTcIfIu2i7BYfT")
     */
    delete(test_id: string, requestOptions?: TestsClient.RequestOptions): core.HttpResponsePromise<unknown>;
    private __delete;
    /**
     * Gets multiple agent response tests by their IDs. Returns a dictionary mapping test IDs to test summaries.
     *
     * @param {ElevenLabs.conversationalAi.ListTestsByIdsRequestModel} request
     * @param {TestsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.tests.summaries({
     *         testIds: ["test_id_1", "test_id_2"]
     *     })
     */
    summaries(request: ElevenLabs.conversationalAi.ListTestsByIdsRequestModel, requestOptions?: TestsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.GetTestsSummariesByIdsResponseModel>;
    private __summaries;
    /**
     * Lists all agent response tests with pagination support and optional search filtering.
     *
     * @param {ElevenLabs.conversationalAi.TestsListRequest} request
     * @param {TestsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.tests.list({
     *         cursor: "cursor",
     *         pageSize: 1,
     *         search: "search",
     *         parentFolderId: "parent_folder_id",
     *         includeFolders: true,
     *         sortMode: "default"
     *     })
     */
    list(request?: ElevenLabs.conversationalAi.TestsListRequest, requestOptions?: TestsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.GetTestsPageResponseModel>;
    private __list;
}
