export interface ImageGenerationOptions {
    prompt: string;
    model?: string;
    size?: '256x256' | '512x512' | '1024x1024' | '1024x1792' | '1792x1024';
    quality?: 'standard' | 'hd';
    style?: 'vivid' | 'natural';
    n?: number;
    provider?: 'openai' | 'replicate' | 'huggingface';
}
export interface GeneratedImage {
    url: string;
    b64_json?: string;
    revised_prompt?: string;
}
export interface ImageGenerationResponse {
    created: number;
    data: GeneratedImage[];
    provider: string;
    model: string;
}
export interface ImageProvider {
    id: string;
    name: string;
    description: string;
    models: ImageModel[];
    requiresApiKey: boolean;
    pricing: {
        free: boolean;
        costPerImage?: string;
    };
}
export interface ImageModel {
    id: string;
    name: string;
    description: string;
    sizes: string[];
    maxImages: number;
}
export declare class ImageGenerator {
    private huggingfaceApiKey?;
    constructor(huggingfaceApiKey?: string);
    getAvailableModels(): ImageModel[];
    generateImage(options: ImageGenerationOptions): Promise<ImageGenerationResponse>;
    private generateWithHuggingFace;
    generateImageFromBase64(options: ImageGenerationOptions): Promise<string[]>;
    generateMultipleImages(prompts: string[], model?: string, options?: Omit<ImageGenerationOptions, 'prompt' | 'model'>): Promise<{
        prompt: string;
        images: GeneratedImage[];
    }[]>;
    formatImageModelForDisplay(model: ImageModel): string;
}
//# sourceMappingURL=image-generator.d.ts.map