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


class ChunkHandle(BaseModel):
    chunk_id: str
    flight_id: str
    start_frame_id: int
    end_frame_id: Optional[int] = None
    frames: list[int] = []
    is_active: bool = True
    has_anchor: bool = False
    anchor_frame_id: Optional[int] = None
    anchor_gps: Optional[GPSPoint] = None
    matching_status: str = "unanchored"

