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

import enum
import typing

T_Result = typing.TypeVar("T_Result")


class AppointmentProvider(str, enum.Enum):
    """
    An enumeration.
    """

    GETLABS = "getlabs"
    AXLEHEALTH = "axlehealth"
    PHLEBFINDERS = "phlebfinders"

    def visit(
        self,
        getlabs: typing.Callable[[], T_Result],
        axlehealth: typing.Callable[[], T_Result],
        phlebfinders: typing.Callable[[], T_Result],
    ) -> T_Result:
        if self is AppointmentProvider.GETLABS:
            return getlabs()
        if self is AppointmentProvider.AXLEHEALTH:
            return axlehealth()
        if self is AppointmentProvider.PHLEBFINDERS:
            return phlebfinders()
