export interface Config { IMAGE_PROVIDER: 'google' | 'vertex_ai'; VIDEO_PROVIDER: 'google' | 'vertex_ai'; GEMINI_API_KEY?: string | undefined; GEMINI_BASE_URL?: string | undefined; VERTEX_CLIENT_EMAIL?: string; VERTEX_PRIVATE_KEY?: string; VERTEX_PROJECT_ID?: string; VERTEX_LOCATION?: string; VERTEX_ENDPOINT?: string; IMAGE_MODEL?: string; VIDEO_MODEL?: string; ANALYZE_IMAGE_MODEL?: string; COMPARE_IMAGES_MODEL?: string; DETECT_OBJECTS_IN_IMAGE_MODEL?: string; ANALYZE_VIDEO_MODEL?: string; GCS_BUCKET_NAME?: string; TEMPERATURE?: number; TOP_P?: number; TOP_K?: number; MAX_TOKENS?: number; TEMPERATURE_FOR_IMAGE?: number; TOP_P_FOR_IMAGE?: number; TOP_K_FOR_IMAGE?: number; MAX_TOKENS_FOR_IMAGE?: number; TEMPERATURE_FOR_VIDEO?: number; TOP_P_FOR_VIDEO?: number; TOP_K_FOR_VIDEO?: number; MAX_TOKENS_FOR_VIDEO?: number; TEMPERATURE_FOR_ANALYZE_IMAGE?: number; TOP_P_FOR_ANALYZE_IMAGE?: number; TOP_K_FOR_ANALYZE_IMAGE?: number; MAX_TOKENS_FOR_ANALYZE_IMAGE?: number; TEMPERATURE_FOR_COMPARE_IMAGES?: number; TOP_P_FOR_COMPARE_IMAGES?: number; TOP_K_FOR_COMPARE_IMAGES?: number; MAX_TOKENS_FOR_COMPARE_IMAGES?: number; TEMPERATURE_FOR_DETECT_OBJECTS_IN_IMAGE?: number; TOP_P_FOR_DETECT_OBJECTS_IN_IMAGE?: number; TOP_K_FOR_DETECT_OBJECTS_IN_IMAGE?: number; MAX_TOKENS_FOR_DETECT_OBJECTS_IN_IMAGE?: number; TEMPERATURE_FOR_ANALYZE_VIDEO?: number; TOP_P_FOR_ANALYZE_VIDEO?: number; TOP_K_FOR_ANALYZE_VIDEO?: number; MAX_TOKENS_FOR_ANALYZE_VIDEO?: number; MAX_IMAGE_SIZE?: number; MAX_VIDEO_SIZE?: number; ALLOWED_IMAGE_FORMATS?: string[]; ALLOWED_VIDEO_FORMATS?: string[]; MAX_VIDEO_DURATION?: number; MAX_IMAGES_FOR_COMPARISON?: number; GEMINI_FILES_API_THRESHOLD?: number; VERTEX_AI_FILES_API_THRESHOLD?: number; YOUTUBE_API_KEY?: string; LOG_LEVEL?: 'info' | 'debug' | 'warn' | 'error'; NODE_ENV?: 'development' | 'production' | 'test'; } export interface GeminiConfig { apiKey: string; baseUrl: string; imageModel: string; videoModel: string; } export interface VertexAIConfig { projectId: string; location: string; endpoint: string; clientEmail?: string; privateKey?: string; imageModel: string; videoModel: string; } export interface GCSConfig { bucketName: string; projectId: string; clientEmail: string; privateKey: string; region: string; } export interface FileUploadConfig { useProviderFilesApi: boolean; geminiFilesApiThreshold: number; vertexAIFilesApiThreshold: number; } export interface ApiConfig { temperature: number; topP: number; topK: number; maxTokens: number; maxTokensForImage: number; maxTokensForVideo: number; temperatureForImage?: number; topPForImage?: number; topKForImage?: number; temperatureForVideo?: number; topPForVideo?: number; topKForVideo?: number; temperatureForAnalyzeImage?: number; topPForAnalyzeImage?: number; topKForAnalyzeImage?: number; maxTokensForAnalyzeImage?: number; temperatureForCompareImages?: number; topPForCompareImages?: number; topKForCompareImages?: number; maxTokensForCompareImages?: number; temperatureForDetectObjectsInImage?: number; topPForDetectObjectsInImage?: number; topKForDetectObjectsInImage?: number; maxTokensForDetectObjectsInImage?: number; temperatureForAnalyzeVideo?: number; topPForAnalyzeVideo?: number; topKForAnalyzeVideo?: number; maxTokensForAnalyzeVideo?: number; analyzeImageModel?: string; compareImagesModel?: string; detectObjectsInImageModel?: string; analyzeVideoModel?: string; } export interface FileProcessingConfig { maxImageSize: number; maxVideoSize: number; allowedImageFormats: string[]; allowedVideoFormats: string[]; maxVideoDuration: number; maxImagesForComparison: number; } export interface LoggingConfig { logLevel: 'info' | 'debug' | 'warn' | 'error'; } export interface DevelopmentConfig { nodeEnv: 'development' | 'production' | 'test'; } //# sourceMappingURL=Config.d.ts.map