# This file was auto-generated by Fern from our API Definition.

import enum
import typing

T_Result = typing.TypeVar("T_Result")


class ScanDayOption(str, enum.Enum):
    MONDAY = "Monday"
    TUESDAY = "Tuesday"
    WEDNESDAY = "Wednesday"
    THURSDAY = "Thursday"
    FRIDAY = "Friday"
    SATURDAY = "Saturday"
    SUNDAY = "Sunday"

    def visit(
        self,
        monday: typing.Callable[[], T_Result],
        tuesday: typing.Callable[[], T_Result],
        wednesday: typing.Callable[[], T_Result],
        thursday: typing.Callable[[], T_Result],
        friday: typing.Callable[[], T_Result],
        saturday: typing.Callable[[], T_Result],
        sunday: typing.Callable[[], T_Result],
    ) -> T_Result:
        if self is ScanDayOption.MONDAY:
            return monday()
        if self is ScanDayOption.TUESDAY:
            return tuesday()
        if self is ScanDayOption.WEDNESDAY:
            return wednesday()
        if self is ScanDayOption.THURSDAY:
            return thursday()
        if self is ScanDayOption.FRIDAY:
            return friday()
        if self is ScanDayOption.SATURDAY:
            return saturday()
        if self is ScanDayOption.SUNDAY:
            return sunday()
