import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import * as core from "../../../../core/index.js";
import type * as Vapi from "../../../index.js";
export declare namespace InsightClient {
    interface Options extends BaseClientOptions {
    }
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class InsightClient {
    protected readonly _options: InsightClient.Options;
    constructor(options: InsightClient.Options);
    /**
     * @param {Vapi.InsightControllerFindAllRequest} request
     * @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.insight.insightControllerFindAll()
     */
    insightControllerFindAll(request?: Vapi.InsightControllerFindAllRequest, requestOptions?: InsightClient.RequestOptions): core.HttpResponsePromise<Vapi.InsightPaginatedResponse>;
    private __insightControllerFindAll;
    /**
     * @param {Vapi.InsightControllerCreateRequest} request
     * @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.insight.insightControllerCreate({
     *         type: "bar",
     *         queries: [{
     *                 type: "vapiql-json",
     *                 table: "call",
     *                 column: "id",
     *                 operation: "count"
     *             }]
     *     })
     */
    insightControllerCreate(request: Vapi.InsightControllerCreateRequest, requestOptions?: InsightClient.RequestOptions): core.HttpResponsePromise<Vapi.InsightControllerCreateResponse>;
    private __insightControllerCreate;
    /**
     * @param {Vapi.InsightControllerFindOneRequest} request
     * @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.insight.insightControllerFindOne({
     *         id: "id"
     *     })
     */
    insightControllerFindOne(request: Vapi.InsightControllerFindOneRequest, requestOptions?: InsightClient.RequestOptions): core.HttpResponsePromise<Vapi.InsightControllerFindOneResponse>;
    private __insightControllerFindOne;
    /**
     * @param {Vapi.InsightControllerRemoveRequest} request
     * @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.insight.insightControllerRemove({
     *         id: "id"
     *     })
     */
    insightControllerRemove(request: Vapi.InsightControllerRemoveRequest, requestOptions?: InsightClient.RequestOptions): core.HttpResponsePromise<Vapi.InsightControllerRemoveResponse>;
    private __insightControllerRemove;
    /**
     * @param {Vapi.InsightControllerUpdateRequest} request
     * @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.insight.insightControllerUpdate({
     *         id: "id",
     *         body: {
     *             type: "bar"
     *         }
     *     })
     */
    insightControllerUpdate(request: Vapi.InsightControllerUpdateRequest, requestOptions?: InsightClient.RequestOptions): core.HttpResponsePromise<Vapi.InsightControllerUpdateResponse>;
    private __insightControllerUpdate;
    /**
     * @param {Vapi.InsightRunDto} request
     * @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.insight.insightControllerRun({
     *         id: "id"
     *     })
     */
    insightControllerRun(request: Vapi.InsightRunDto, requestOptions?: InsightClient.RequestOptions): core.HttpResponsePromise<Vapi.InsightRunResponse>;
    private __insightControllerRun;
    /**
     * @param {Vapi.InsightControllerPreviewRequest} request
     * @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.insight.insightControllerPreview({
     *         type: "bar",
     *         queries: [{
     *                 type: "vapiql-json",
     *                 table: "call",
     *                 column: "id",
     *                 operation: "count"
     *             }]
     *     })
     */
    insightControllerPreview(request: Vapi.InsightControllerPreviewRequest, requestOptions?: InsightClient.RequestOptions): core.HttpResponsePromise<Vapi.InsightRunResponse>;
    private __insightControllerPreview;
    protected _getAuthorizationHeader(): Promise<string>;
}
