export interface CloudinaryUploadOptions { public_id?: string; folder?: string; resource_type?: 'image' | 'video' | 'auto' | 'raw'; format?: string; transformation?: string | object; tags?: string[]; context?: object; eager?: string | object; eager_async?: boolean; eager_notification_url?: string; notification_url?: string; upload_preset?: string; allowed_formats?: string[]; disallowed_formats?: string[]; moderation?: string; access_mode?: string; type?: string; access_control?: object[]; overwrite?: boolean; unique_filename?: boolean; use_filename?: boolean; discard_original_filename?: boolean; face_coordinates?: string; custom_coordinates?: string; back_validation?: boolean; return_delete_token?: boolean; callback?: string; eager_eval?: string; proxy?: string; invalidate?: boolean; colors?: boolean; faces?: boolean; quality_auto?: string; quality?: number; responsive_breakpoints?: object; responsive?: boolean; async?: boolean; eval?: string; exif?: boolean; image_metadata?: boolean; video_metadata?: boolean; phash?: boolean; cinemagraph_analysis?: boolean; detection?: string; similarity_search?: string; ocr?: string; raw_convert?: string; quality_override?: string; accessibility_analysis?: boolean; visual_search?: boolean; } export interface CloudinaryUploadResponse { public_id: string; version: number; width: number; height: number; format: string; created_at: string; resource_type: "image" | "video" | "auto" | "raw"; tags: string[]; bytes: number; type: string; etag: string; url: string; secure_url: string; signature: string; original_filename: string; eager?: Array<{ transformation: string; width: number; height: number; bytes: number; format: string; url: string; secure_url: string; }>; placeholder: boolean; access_mode: string; context: object; hw?: string; original_extension?: string; pages: number; duration?: number; bit_rate?: number; audio?: object; video?: object; is_audio?: boolean; frame_rate?: number; start_time?: number; rotation?: number; coordinates?: object; faces?: number[][]; moderation: string[]; access_control: string[]; metadata: object; colors?: object; predominant?: object; phash?: string; delete_token?: string; info?: object; exif?: object; image_metadata?: object; video_metadata?: object; cinemagraph_analysis?: object; accessibility_analysis?: object; visual_search?: object; }