import { ImageAdapter } from './base';
import { Context, Session } from 'koishi';
import { ImageConfig, ImageEditOptions, ImageGenerationOptions, ImageGenerationResponse, ImageVariationOptions } from '../types';
export declare class DoubaoAdapter extends ImageAdapter<'doubao'> {
    type: "doubao";
    private errorMapping;
    constructor(ctx: Context);
    protected _getModels(config: ImageConfig<'doubao'>): Promise<string[]>;
    protected getDefaultModels(): string[];
    private formatDoubaoError;
    generateImage(config: ImageConfig<'doubao'>, options: ImageGenerationOptions, session?: Session): Promise<ImageGenerationResponse>;
    editImage(config: ImageConfig<'doubao'>, options: ImageEditOptions, session?: Session): Promise<ImageGenerationResponse>;
    createVariation(config: ImageConfig<'doubao'>, options: ImageVariationOptions, session?: Session): Promise<ImageGenerationResponse>;
    private syncGenerateImage;
    private asyncEditImage;
    private submitTask;
    private pollTaskResult;
    private queryTaskResult;
    private buildHeaders;
    private sign;
    private getSignHeaders;
    private hmac;
    private hash;
    private getDateTimeNow;
    private queryParamsToString;
    private uriEscape;
    private convertToStandardResponse;
}
declare module './base' {
    interface ImageAdapterType {
        doubao: never;
    }
}
