from typing import Dict, List

from pydantic import BaseModel


class AnalysisRequest(BaseModel):
    analysis_type: str
    filters: Dict


class AnalysisResponse(BaseModel):
    result: str


class AvailableSource(BaseModel):
    display_name: str
    name: str
    format: str


class AvailableSourcesResponse(BaseModel):
    sources: List[AvailableSource]


class ConversionRequest(BaseModel):
    source_type: str
    source_format: str
    filename: str


class ConversionResponse(BaseModel):
    status: str
    metadata: dict


class ExportRequest(BaseModel):
    filters: Dict
    format: str


class ExportResponse(BaseModel):
    export_url: str
    status: str


class GenerateRequest(BaseModel):
    prompt: str


class GenerateResponse(BaseModel):
    content_url: str
    status: str


class ImportRequest(BaseModel):
    type: str
    data: str


class ImportResponse(BaseModel):
    status: str
