from __future__ import annotations from uuid import UUID from pydantic import BaseModel from .operations import VectorSelectionBBox class OfficialVectorAcquireRequest(BaseModel): bbox: VectorSelectionBBox area_id: UUID | None = None product_key: str force_refresh: bool = False class OfficialVectorProductRead(BaseModel): key: str display_name: str theme: str provider: str source_name: str reference_layer_name: str service_type: str collection: str geometry_types: list[str] source_crs: str source_version: str observation_label: str authority_level: str catalog_url: str attribution: str license_note: str limitation_message: str coverage_zones: list[str] class OfficialVectorAcquisitionResult(BaseModel): output_dataset_id: UUID reused: bool product_key: str display_name: str theme: str provider: str source_name: str reference_layer_name: str service_type: str collection: str feature_count: int candidate_feature_count: int page_count: int bbox_epsg4326: list[float] source_version: str attribution: str limitation_message: str