from typing import List


class ListenedEvents(object):
    HVAUDIT = "HVAUDIT"
    ORDER_MODIFIED = "ORDER_MODIFIED"
    ORDER_STATE = "ORDER_STATE"
    PRODUCTION_ORDER_EVENT = "PRODUCTION_ORDER_EVENT"
    TABLE_CLOSED = "TABLE_CLOSED"
    ORDER_REPROCESS = "ORDER_REPROCESS"
    POS_STATECHANGED = "POS_STATECHANGED"
    POS_UPDATER_LOGGER = "POS_UPDATER_LOGGER"
    STORE_STATUS = "STORE_STATUS"
    GLOBAL_RESTART = "GLOBAL_RESTART"
    DECLARED_AMOUNT = "DECLARED_AMOUNT"
    TRANSFER_CASH_IN = "TRANSFER_CASH_IN"
    TRANSFER_CASH_OUT = "TRANSFER_CASH_OUT"
    INITIAL_AMOUNT = "INITIAL_AMOUNT"


def all_events():
    # type: () -> List[str]
    return [x for x in vars(ListenedEvents) if not x.startswith("__")]
