export interface ChatMessage {
    role: 'system' | 'user' | 'assistant';
    content: string | Array<{
        type: 'text' | 'image_url';
        text?: string;
        image_url?: {
            url: string;
        };
    }>;
}
export interface ChatRequest {
    model: string;
    messages: ChatMessage[];
    max_tokens?: number;
    temperature?: number;
    stream?: boolean;
}
export interface ChatResponse {
    choices: Array<{
        message: {
            role: string;
            content: string;
        };
        finish_reason: string;
    }>;
    usage: {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    };
}
export interface ImageRequest {
    model: string;
    prompt: string;
    n?: number;
    size?: string;
    quality?: string;
    moderation?: 'low' | 'auto';
    background?: 'transparent' | 'opaque' | 'auto';
}
export interface ImageResponse {
    data: Array<{
        b64_json?: string;
        url?: string;
        revised_prompt?: string;
    }>;
    usage?: {
        input_tokens: number;
        output_tokens: number;
        total_tokens: number;
    };
}
export interface GeminiImageRequest {
    model: string;
    messages: Array<{
        role: string;
        content: string;
    }>;
    modalities: string[];
    temperature?: number;
}
export interface GeminiImageResponse {
    choices: Array<{
        message: {
            content?: string;
            multi_mod_content?: Array<{
                text?: string;
                inline_data?: {
                    data: string;
                    mimeType: string;
                };
            }>;
        };
    }>;
    usage?: {
        input_tokens: number;
        output_tokens: number;
        total_tokens: number;
    };
}
export interface ModelInfo {
    id: string;
    object: string;
    created: number;
    owned_by: string;
    root?: string;
}
export interface ModelsResponse {
    data: ModelInfo[];
}
export interface ImagenRequest {
    model: string;
    prompt: string;
    config: {
        number_of_images: number;
        aspect_ratio: string;
    };
}
export interface ImagenResponse {
    generated_images: Array<{
        image: {
            image_bytes: string;
        };
    }>;
}
export interface XAIImageRequest {
    model: string;
    prompt: string;
    n?: number;
    size?: string;
    quality?: string;
}
export interface XAIImageResponse {
    data: Array<{
        url?: string;
        b64_json?: string;
        revised_prompt?: string;
    }>;
    usage?: {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    };
}
export declare class AiHubMixAPI {
    private apiKey;
    private baseUrl;
    private timeout;
    private retryCount;
    private client;
    private logger;
    constructor(apiKey: string, baseUrl: string, timeout?: number, retryCount?: number);
    /**
     * 发送聊天请求
     */
    chat(request: ChatRequest): Promise<ChatResponse>;
    /**
     * 发送图像生成请求
     */
    generateImage(request: ImageRequest): Promise<ImageResponse>;
    /**
     * 发送Gemini智绘请求
     */
    generateImageWithGemini(request: GeminiImageRequest): Promise<GeminiImageResponse>;
    /**
     * 发送Imagen绘图请求
     */
    generateImageWithImagen(request: ImagenRequest): Promise<ImagenResponse>;
    /**
     * 发送xAI绘图请求
     */
    generateImageWithXAI(request: XAIImageRequest, xaiApiKey: string, xaiBaseUrl: string): Promise<XAIImageResponse>;
    /**
     * 获取可用模型列表
     */
    getModels(): Promise<ModelsResponse>;
    /**
     * 发送图像编辑请求
     */
    editImage(image: Buffer, prompt: string, mask?: Buffer, options?: Partial<ImageRequest>): Promise<ImageResponse>;
    /**
     * 错误处理
     */
    private handleError;
    /**
     * 测试API连接
     */
    testConnection(): Promise<boolean>;
}
