import { BaseImageProvider } from './baseProvider.js'; import type { ImageGenerationRequest, ImageGenerationResult, ImageDescriptionResult, ImageTaggingResult, HuggingFaceConfig } from '../types/index.js'; /** * HuggingFace provider for image generation using Stable Diffusion and other models */ export declare class HuggingFaceProvider extends BaseImageProvider { name: string; private client; private config; constructor(config: HuggingFaceConfig); /** * Initialize HuggingFace client */ private initializeClient; /** * Check if provider is available and configured */ isAvailable(): Promise; /** * Generate image using Stable Diffusion or other models */ generateImage(request: ImageGenerationRequest): Promise; /** * Describe image using BLIP or other vision models */ describeImage(imageUrl: string): Promise; /** * Tag image using classification models */ tagImage(imageUrl: string): Promise; /** * Make image background transparent (for logos) */ private makeImageTransparent; /** * Download image from URL */ private downloadImage; /** * Categorize tag label */ private categorizeTag; /** * Check if current model is Stable Diffusion */ private isStableDiffusionModel; /** * Get supported formats */ getSupportedFormats(): string[]; /** * Get supported dimensions */ getSupportedDimensions(): { width: number; height: number; }[]; /** * Get maximum image count */ getMaxImageCount(): number; /** * Check if provider supports feature */ supportsFeature(feature: 'generation' | 'description' | 'tagging' | 'transparency' | 'logo'): boolean; /** * Update configuration */ updateConfig(config: Partial): void; /** * Get current configuration (without sensitive data) */ getConfig(): Omit; } //# sourceMappingURL=huggingFaceProvider.d.ts.map