from datetime import datetime
import numpy as np
from pydantic import BaseModel, ConfigDict
from ..satellite.tile_candidate import TileCandidate


class UserInputRequest(BaseModel):
    model_config = ConfigDict(arbitrary_types_allowed=True)

    request_id: str
    flight_id: str
    frame_id: int
    uav_image: np.ndarray
    candidate_tiles: list[TileCandidate]
    message: str
    created_at: datetime

