import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import * as core from "../../../../core/index.js";
import type * as Vapi from "../../../index.js";
export declare namespace StructuredOutputsClient {
    interface Options extends BaseClientOptions {
    }
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class StructuredOutputsClient {
    protected readonly _options: StructuredOutputsClient.Options;
    constructor(options: StructuredOutputsClient.Options);
    /**
     * @param {Vapi.StructuredOutputControllerFindAllRequest} request
     * @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.structuredOutputs.structuredOutputControllerFindAll()
     */
    structuredOutputControllerFindAll(request?: Vapi.StructuredOutputControllerFindAllRequest, requestOptions?: StructuredOutputsClient.RequestOptions): core.HttpResponsePromise<Vapi.StructuredOutputPaginatedResponse>;
    private __structuredOutputControllerFindAll;
    /**
     * @param {Vapi.CreateStructuredOutputDto} request
     * @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.structuredOutputs.structuredOutputControllerCreate({
     *         name: "name",
     *         schema: {
     *             type: "string"
     *         }
     *     })
     */
    structuredOutputControllerCreate(request: Vapi.CreateStructuredOutputDto, requestOptions?: StructuredOutputsClient.RequestOptions): core.HttpResponsePromise<Vapi.StructuredOutput>;
    private __structuredOutputControllerCreate;
    /**
     * @param {Vapi.StructuredOutputControllerFindOneRequest} request
     * @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.structuredOutputs.structuredOutputControllerFindOne({
     *         id: "id"
     *     })
     */
    structuredOutputControllerFindOne(request: Vapi.StructuredOutputControllerFindOneRequest, requestOptions?: StructuredOutputsClient.RequestOptions): core.HttpResponsePromise<Vapi.StructuredOutput>;
    private __structuredOutputControllerFindOne;
    /**
     * @param {Vapi.StructuredOutputControllerRemoveRequest} request
     * @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.structuredOutputs.structuredOutputControllerRemove({
     *         id: "id"
     *     })
     */
    structuredOutputControllerRemove(request: Vapi.StructuredOutputControllerRemoveRequest, requestOptions?: StructuredOutputsClient.RequestOptions): core.HttpResponsePromise<Vapi.StructuredOutput>;
    private __structuredOutputControllerRemove;
    /**
     * @param {Vapi.UpdateStructuredOutputDto} request
     * @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.structuredOutputs.structuredOutputControllerUpdate({
     *         id: "id",
     *         schemaOverride: "schemaOverride"
     *     })
     */
    structuredOutputControllerUpdate(request: Vapi.UpdateStructuredOutputDto, requestOptions?: StructuredOutputsClient.RequestOptions): core.HttpResponsePromise<Vapi.StructuredOutput>;
    private __structuredOutputControllerUpdate;
    /**
     * @param {Vapi.StructuredOutputRunDto} request
     * @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.structuredOutputs.structuredOutputControllerRun({
     *         callIds: ["callIds"]
     *     })
     */
    structuredOutputControllerRun(request: Vapi.StructuredOutputRunDto, requestOptions?: StructuredOutputsClient.RequestOptions): core.HttpResponsePromise<Vapi.StructuredOutput>;
    private __structuredOutputControllerRun;
    /**
     * Analyzes assistant configuration and generates contextual structured output recommendations
     *
     * @param {Vapi.GenerateStructuredOutputSuggestionsDto} request
     * @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.structuredOutputs.structuredOutputControllerSuggest({
     *         assistantId: "550e8400-e29b-41d4-a716-446655440000"
     *     })
     */
    structuredOutputControllerSuggest(request: Vapi.GenerateStructuredOutputSuggestionsDto, requestOptions?: StructuredOutputsClient.RequestOptions): core.HttpResponsePromise<Record<string, unknown>[]>;
    private __structuredOutputControllerSuggest;
    protected _getAuthorizationHeader(): Promise<string>;
}
