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

import enum
import typing

T_Result = typing.TypeVar("T_Result")


class ThirdPartyPayerSortField(str, enum.Enum):
    NAME = "NAME"
    CATEGORY = "CATEGORY"
    ENABLED = "ENABLED"
    UPDATED_AT = "UPDATED_AT"

    def visit(
        self,
        name: typing.Callable[[], T_Result],
        category: typing.Callable[[], T_Result],
        enabled: typing.Callable[[], T_Result],
        updated_at: typing.Callable[[], T_Result],
    ) -> T_Result:
        if self is ThirdPartyPayerSortField.NAME:
            return name()
        if self is ThirdPartyPayerSortField.CATEGORY:
            return category()
        if self is ThirdPartyPayerSortField.ENABLED:
            return enabled()
        if self is ThirdPartyPayerSortField.UPDATED_AT:
            return updated_at()
