from typing import List, Dict, Optional


class Block:
    def __init__(self, preview_only: bool):
        self.background: int = 0
        self.brightness_changes: List[Brightness] = [] if not preview_only else []
        self.fog: Optional[Fog] = None
        self.fog_defined: bool = False
        self.cycle: List[int] = []
        self.rail_cycles: List[RailCycle] = []
        self.height: float = 0.0
        self.rails: Dict[int, Rail] = {}
        self.switches: List[Switch] = [] if not preview_only else []

class PreprocessMixin3:
    def check_for_available_patch(self, file_name: str, data: 'RouteData',
                                  expressions: list['Expression'], preview_only: bool):

이게맞나