import { ImageAdapter } from './base';
import { Context, Session } from 'koishi';
import { ImageConfig, ImageEditOptions, ImageGenerationOptions, ImageGenerationResponse, ImageVariationOptions } from '../types';
export declare class OpenAIAdapter extends ImageAdapter<'openai'> {
    type: "openai";
    constructor(ctx: Context);
    protected _getModels(config: ImageConfig<'openai'>): Promise<string[]>;
    protected getDefaultModels(): string[];
    generateImage(config: ImageConfig<'openai'>, options: ImageGenerationOptions, session?: Session): Promise<ImageGenerationResponse>;
    editImage(config: ImageConfig<'openai'>, options: ImageEditOptions, session?: Session): Promise<ImageGenerationResponse>;
    createVariation(config: ImageConfig<'openai'>, options: ImageVariationOptions, session?: Session): Promise<ImageGenerationResponse>;
    private buildGenerationRequest;
    private buildEditRequest;
    private buildVariationRequest;
}
declare module './base' {
    interface ImageAdapterType {
        openai: never;
    }
}
