from dataclasses import dataclass
from typing import List, Optional
from enum import Enum


class EquipmentType(Enum):
    LENS = "lens"
    TELESCOPE = "telescope"


@dataclass
class Lens:
    """Объектив"""
    name: str
    min_aperture: float  # например 1.8
    max_aperture: float  # например 22
    focal_length: int  # например 50


@dataclass
class Telescope:
    """Телескоп"""
    name: str
    aperture_ratio: float  # f/5, f/7, f/10
    focal_length: int  # в мм
    diameter: int  # в мм


@dataclass
class Camera:
    """Камера"""
    name: str
    sensor_size: str  # "APS-C", "Full Frame", "4/3"
    pixel_size_um: float = 4.3
    default_iso: int = 800