import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient";
import * as core from "../../../../core";
import * as Cohere from "../../../index";
export declare namespace Batches {
    interface Options extends BaseClientOptions {
    }
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class Batches {
    protected readonly _options: Batches.Options;
    constructor(_options?: Batches.Options);
    /**
     * List the batches for the current user
     *
     * @param {Cohere.BatchesListBatchesRequest} request
     * @param {Batches.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Cohere.BadRequestError}
     * @throws {@link Cohere.UnauthorizedError}
     * @throws {@link Cohere.ForbiddenError}
     * @throws {@link Cohere.NotFoundError}
     * @throws {@link Cohere.InternalServerError}
     * @throws {@link Cohere.ServiceUnavailableError}
     *
     * @example
     *     await client.batches.list({
     *         pageSize: 1,
     *         pageToken: "page_token",
     *         orderBy: "order_by"
     *     })
     */
    list(request?: Cohere.BatchesListBatchesRequest, requestOptions?: Batches.RequestOptions): core.HttpResponsePromise<Cohere.ListBatchesResponse>;
    private __list;
    /**
     * Creates and executes a batch from an uploaded dataset of requests
     *
     * @param {Cohere.Batch} request
     * @param {Batches.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Cohere.BadRequestError}
     * @throws {@link Cohere.UnauthorizedError}
     * @throws {@link Cohere.ForbiddenError}
     * @throws {@link Cohere.NotFoundError}
     * @throws {@link Cohere.InternalServerError}
     * @throws {@link Cohere.ServiceUnavailableError}
     *
     * @example
     *     await client.batches.create({
     *         name: "name",
     *         inputDatasetId: "input_dataset_id",
     *         model: "model"
     *     })
     */
    create(request: Cohere.Batch, requestOptions?: Batches.RequestOptions): core.HttpResponsePromise<Cohere.CreateBatchResponse>;
    private __create;
    /**
     * Retrieves a batch
     *
     * @param {string} id - The batch ID.
     * @param {Batches.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Cohere.BadRequestError}
     * @throws {@link Cohere.UnauthorizedError}
     * @throws {@link Cohere.ForbiddenError}
     * @throws {@link Cohere.NotFoundError}
     * @throws {@link Cohere.InternalServerError}
     * @throws {@link Cohere.ServiceUnavailableError}
     *
     * @example
     *     await client.batches.retrieve("id")
     */
    retrieve(id: string, requestOptions?: Batches.RequestOptions): core.HttpResponsePromise<Cohere.GetBatchResponse>;
    private __retrieve;
    /**
     * Cancels an in-progress batch
     *
     * @param {string} id - The batch ID.
     * @param {Batches.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Cohere.BadRequestError}
     * @throws {@link Cohere.UnauthorizedError}
     * @throws {@link Cohere.ForbiddenError}
     * @throws {@link Cohere.NotFoundError}
     * @throws {@link Cohere.InternalServerError}
     * @throws {@link Cohere.ServiceUnavailableError}
     *
     * @example
     *     await client.batches.cancel("id")
     */
    cancel(id: string, requestOptions?: Batches.RequestOptions): core.HttpResponsePromise<Cohere.CancelBatchResponse>;
    private __cancel;
    protected _getAuthorizationHeader(): Promise<string | undefined>;
}
