class TimeTableMappingConfig:
    def __init__(self) -> None:
        self.personal_timetable_entries: dict[str, tuple[set[str], set[str]]] = ...
        self.teacher_mapping: dict[int, tuple[str, str, tuple[str, ...]]] = ...
        self.subject_to_color: dict[tuple[str, str, int], tuple[int, int, int]] = ...


class LanguageConfig:
    def __init__(self) -> None:
        self.weekday_name_mapping: dict[str, str] = ...
        self.tomorrow: str = ...
        self.today: str = ...
        self.yesterday: str = ...
        self.last_week: str = ...
        self.next_week: str = ...
        self.two_week_abbreviation: str = ...
        self.two_week_abbreviation_legend: str = ...
        self.class_timetable: str = ...
        self.room_timetable: str = ...
        self.teacher_timetable: str = ...
        self.personal_timetable: str = ...
        self.unknown_element_extended_text: str = ...
        self.some_hour: str = ...
        self.is_cancelled: str = ...
        self.are_cancelled: str = ...
        self.is_irregular: str = ...
        self.are_irregular: str = ...
        self.instead: str = ...
        self.multiple_lessons_cancelled: str = ...
        self.multiple_lessons_irregular: str = ...
        self.back: str = ...
        self.time: str = ...
        self.unexpected_error: str = ...

    def set_internal_lang(self, lang: str) -> None:
        pass

class HTMLStyleConfig:
    def __init__(self) -> None:
        self.table_header_base_rgb: tuple[int, int, int] = ...
        self.today_personal_rgb_value: tuple[int, int, int] = ...
        self.timetable_html_header: str = ...
        self.timetable_html_footer: str = ...
        self.timetable_html_footer_two_week: str = ...
        self.personal_timetable_html_header: str = ...
        self.personal_timetable_html_footer: str = ...
        self.unknown_element_symbol: str = ...
        self.lesson_time_ranges_format: str = ...
        self.lesson_time_ranges: list[str] = ...

    def set_internal_lang(self, lang: str, language_config: LanguageConfig) -> None:
        pass

class Config:
    def __init__(self) -> None:
        self.timetable_mapping_config: TimeTableMappingConfig = ...
        self.language_config: LanguageConfig = ...
        self.html_style_config: HTMLStyleConfig = ...

    def set_lang(self, lang: str) -> None:
        pass
