/**
 * This file was auto-generated by Fern from our API Definition.
 */
/// <reference types="node" />
import * as core from "../../../../core";
import { OpenAI } from "../../../..";
import * as fs from "fs";
export declare namespace Image {
    interface Options {
        token: core.Supplier<core.BearerToken>;
        organization?: core.Supplier<string | undefined>;
        fetcher?: core.FetchFunction;
        streamingFetcher?: core.StreamingFetchFunction;
    }
}
export declare class Image {
    private readonly options;
    constructor(options: Image.Options);
    /**
     * Creates an image given a prompt.
     * @throws {OpenAI.UnauthorizedError}
     * @throws {OpenAI.RateLimitError}
     * @throws {OpenAI.InternalServerError}
     */
    create(request: OpenAI.CreateImageRequest): Promise<OpenAI.ImagesResponse>;
    /**
     * Creates an edited or extended image given an original image and a prompt.
     * @throws {OpenAI.UnauthorizedError}
     * @throws {OpenAI.RateLimitError}
     * @throws {OpenAI.InternalServerError}
     */
    createEdit(image: File | fs.ReadStream, mask: File | fs.ReadStream | undefined, request: OpenAI.CreateImageEditRequest): Promise<OpenAI.ImagesResponse>;
    /**
     * Creates a variation of a given image.
     * @throws {OpenAI.UnauthorizedError}
     * @throws {OpenAI.RateLimitError}
     * @throws {OpenAI.InternalServerError}
     */
    createVariation(image: File | fs.ReadStream, request: OpenAI.CreateImageVariationRequest): Promise<OpenAI.ImagesResponse>;
    private _getAuthorizationHeader;
}
