from typing import Union


from .models import (
    LiveBeganEvent,
    LiveBeganEventData,
    LiveEndedEvent,
    LiveEndedEventData,
    RoomChangeEvent,
    RoomChangeEventData,
    RecordingStartedEvent,
    RecordingStartedEventData,
    RecordingFinishedEvent,
    RecordingFinishedEventData,
    RecordingCancelledEvent,
    RecordingCancelledEventData,
    VideoFileCreatedEvent,
    VideoFileCreatedEventData,
    VideoFileCompletedEvent,
    VideoFileCompletedEventData,
    DanmakuFileCreatedEvent,
    DanmakuFileCreatedEventData,
    DanmakuFileCompletedEvent,
    DanmakuFileCompletedEventData,
    RawDanmakuFileCreatedEvent,
    RawDanmakuFileCreatedEventData,
    RawDanmakuFileCompletedEvent,
    RawDanmakuFileCompletedEventData,
    CoverImageDownloadedEvent,
    CoverImageDownloadedEventData,
    VideoPostprocessingCompletedEvent,
    VideoPostprocessingCompletedEventData,
    PostprocessingCompletedEvent,
    PostprocessingCompletedEventData,
    SpaceNoEnoughEvent,
    SpaceNoEnoughEventData,
    Error,
    ErrorData,
)


Event = Union[
    LiveBeganEvent,
    LiveEndedEvent,
    RoomChangeEvent,
    RecordingStartedEvent,
    RecordingFinishedEvent,
    RecordingCancelledEvent,
    VideoFileCreatedEvent,
    VideoFileCompletedEvent,
    DanmakuFileCreatedEvent,
    DanmakuFileCompletedEvent,
    RawDanmakuFileCreatedEvent,
    RawDanmakuFileCompletedEvent,
    CoverImageDownloadedEvent,
    VideoPostprocessingCompletedEvent,
    PostprocessingCompletedEvent,
    SpaceNoEnoughEvent,
    Error,
]

EventData = Union[
    LiveBeganEventData,
    LiveEndedEventData,
    RoomChangeEventData,
    RecordingStartedEventData,
    RecordingFinishedEventData,
    RecordingCancelledEventData,
    VideoFileCreatedEventData,
    VideoFileCompletedEventData,
    DanmakuFileCreatedEventData,
    DanmakuFileCompletedEventData,
    RawDanmakuFileCreatedEventData,
    RawDanmakuFileCompletedEventData,
    CoverImageDownloadedEventData,
    VideoPostprocessingCompletedEventData,
    PostprocessingCompletedEventData,
    SpaceNoEnoughEventData,
    ErrorData,
]
