from typing import List, Optional

from pydantic import BaseModel


class DecomposedFileInfo(BaseModel):
    name: str
    file_path: str
    file_type: str = "text"  # "text" | "table" | "image"
    table_data: Optional[List[dict]] = None  # Serialized TableData for spreadsheets
    image_info: Optional[dict] = None  # Serialized ImageInfo for images
