from __future__ import annotations
from typing import Any
from enum import IntEnum
from enum import auto

class OutgoingMessageState(IntEnum):
    WRITTEN = auto()
    PARTIALLY_LOCALLY_SENT = auto()
    COMPLETELY_LOCALLY_SENT = auto()
    RECOVERABLE_LOCAL_ERROR = auto()
    NONRECOVERABLE_LOCAL_ERROR = auto()
    EXTERNAL_ERROR = auto()
    WAITING_CONFIRMATION = auto()
    CONFIRMED = auto()
