from typing import Optional
from pydantic import BaseModel
from ..core.gps_point import GPSPoint


class UserFixRequest(BaseModel):
    frame_id: int
    uav_pixel: tuple[float, float]
    satellite_gps: GPSPoint


class UserFixResponse(BaseModel):
    accepted: bool
    processing_resumed: bool
    message: Optional[str] = None


class ObjectGPSResponse(BaseModel):
    gps: GPSPoint
    accuracy_meters: float
    frame_id: int
    pixel: tuple[float, float]

