/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as environments from "../../../../environments";
import * as core from "../../../../core";
import * as Cohere from "../../..";
export declare namespace Models {
    interface Options {
        environment?: core.Supplier<environments.CohereEnvironment | string>;
        token?: core.Supplier<core.BearerToken | undefined>;
        clientName?: core.Supplier<string | undefined>;
    }
    interface RequestOptions {
        timeoutInSeconds?: number;
        maxRetries?: number;
    }
}
export declare class Models {
    protected readonly _options: Models.Options;
    constructor(_options?: Models.Options);
    /**
     * Returns the details of a model, provided its name.
     * @throws {@link Cohere.BadRequestError}
     * @throws {@link Cohere.TooManyRequestsError}
     * @throws {@link Cohere.InternalServerError}
     *
     * @example
     *     await cohere.models.get("model")
     *
     * @example
     *     await cohere.models.get("string")
     */
    get(model: string, requestOptions?: Models.RequestOptions): Promise<Cohere.GetModelResponse>;
    /**
     * Returns a list of models available for use. The list contains models from Cohere as well as your fine-tuned models.
     * @throws {@link Cohere.TooManyRequestsError}
     *
     * @example
     *     await cohere.models.list()
     *
     * @example
     *     await cohere.models.list({
     *         pageSize: 1.1,
     *         pageToken: "string",
     *         endpoint: Cohere.CompatibleEndpoint.Chat,
     *         defaultOnly: true
     *     })
     */
    list(request?: Cohere.ModelsListRequest, requestOptions?: Models.RequestOptions): Promise<Cohere.ListModelsResponse>;
    protected _getAuthorizationHeader(): Promise<string>;
}
