"""
This type stub file was generated by pyright.
"""

from datetime import datetime
from typing import Literal

from pydantic import BaseModel

from models.assess import StoryTag
from models.base import TaranisBaseModel

"""
This type stub file was generated by pyright.
"""

DashboardHealthState = Literal["up", "down", "n/a"]

class DashboardHealthServices(BaseModel):
    database: DashboardHealthState
    broker: DashboardHealthState
    workers: DashboardHealthState

class DashboardHealth(BaseModel):
    healthy: bool
    services: DashboardHealthServices

class Dashboard(TaranisBaseModel):
    _core_endpoint = ...
    _model_name = ...
    _pretty_name = ...
    _cache_timeout = ...
    total_news_items: int = ...
    total_story_items: int = ...
    total_products: int = ...
    report_items_completed: int = ...
    report_items_in_progress: int = ...
    latest_collected: datetime | None = ...
    schedule_length: int | None = ...
    conflict_count: int | None = ...
    health_status: DashboardHealth | None = ...
    worker_status: dict[str, dict[str, int]] | None = ...

class TrendingCluster(TaranisBaseModel):
    _core_endpoint = ...
    _model_name = ...
    _pretty_name = ...
    name: str
    tags: list[StoryTag] = ...
    size: int | None = ...

class Cluster(TaranisBaseModel):
    _core_endpoint = ...
    _model_name = ...
    _pretty_name = ...
    name: str
    size: int | None = ...
