/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as core from "../../../../core";
import { OpenAI } from "../../../..";
export declare namespace Model {
    interface Options {
        token: core.Supplier<core.BearerToken>;
        organization?: core.Supplier<string | undefined>;
        fetcher?: core.FetchFunction;
        streamingFetcher?: core.StreamingFetchFunction;
    }
}
export declare class Model {
    private readonly options;
    constructor(options: Model.Options);
    /**
     * Lists the currently available models, and provides basic information about each one such as the owner and availability.
     * @throws {OpenAI.UnauthorizedError}
     * @throws {OpenAI.RateLimitError}
     * @throws {OpenAI.InternalServerError}
     */
    list(): Promise<OpenAI.ListModelsResponse>;
    /**
     * Retrieves a model instance, providing basic information about the model such as the owner and permissioning.
     * @throws {OpenAI.UnauthorizedError}
     * @throws {OpenAI.RateLimitError}
     * @throws {OpenAI.InternalServerError}
     */
    retrieve(model: OpenAI.ModelId): Promise<OpenAI.Model>;
    /**
     * Delete a fine-tuned model. You must have the Owner role in your organization.
     * @throws {OpenAI.UnauthorizedError}
     * @throws {OpenAI.RateLimitError}
     * @throws {OpenAI.InternalServerError}
     */
    delete(model: OpenAI.ModelId): Promise<OpenAI.DeleteModelResponse>;
    private _getAuthorizationHeader;
}
