# Custom type alias for TaskMessageUpdate (not generated by Fern)
# Note: Use TaskMessageUpdate_* types which have the 'type' discriminator field
# required for serialization. StreamTaskMessage* types lack this field.

from typing import Union

from typing_extensions import TypeAlias

from terminaluse.types import (
    TaskMessageUpdate_Delta,
    TaskMessageUpdate_Done,
    TaskMessageUpdate_Full,
    TaskMessageUpdate_Start,
)

__all__ = ["TaskMessageUpdate"]

TaskMessageUpdate: TypeAlias = Union[
    TaskMessageUpdate_Start, TaskMessageUpdate_Delta, TaskMessageUpdate_Full, TaskMessageUpdate_Done
]
