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


class OperationalArea(BaseModel):
    name: str = "Eastern Ukraine"
    min_lat: float = 45.0
    max_lat: float = 52.0
    min_lon: float = 22.0
    max_lon: float = 40.0


class FlightConfig(BaseModel):
    camera_params: CameraParameters
    altitude: float
    operational_area: OperationalArea = OperationalArea()
    frame_spacing: float = 100.0

