/*
 * Author: XeroxDev <help@xeroxdev.de>
 * Copyright (c) 2021.
 *
 */

import {
    StreamDeckAction,
    StreamDeckHandlerBase,
    StreamDeckPluginHandler,
    StreamDeckPropertyInspectorHandler,
} from './abstracts/abstracts';
import { StreamDeckActionClass } from './classes/stream-deck-action.class';
import { SDOnActionEvent, SDOnPiEvent } from './decorators/decorators';
import {
    AcdData,
    ApplicationDidLaunchEvent,
    ApplicationDidTerminateEvent,
    Coordinates,
    DeviceDidConnectEvent,
    DeviceDidDisconnectEvent,
    DeviceType,
    DidReceiveGlobalSettingsEvent,
    DidReceiveSettingsEvent,
    EventType,
    InitBase,
    InitEventActionInfo,
    InitEventActionInfoPayload,
    InitEventActionInfoPayloadCoordinates,
    InitEventInfo,
    InitEventInfoApplication,
    InitEventInfoDevice,
    InitEventInfoDeviceSize,
    InitEventInfoPlugin,
    InitPi,
    KeyDownEvent,
    KeyUpEvent,
    DialUpEvent,
    DialDownEvent,
    DialRotateEvent,
    PossibleEventsForActionToReceive,
    PossibleEventsForActionToSend,
    PossibleEventsForAllToReceive,
    PossibleEventsForAllToSend,
    PossibleEventsForPiToReceive,
    PossibleEventsForPiToSend,
    PossibleEventsToReceive,
    PossibleEventsToSend,
    PropertyInspectorDidAppearEvent,
    PropertyInspectorDidDisappearEvent,
    SendToPiEvent,
    SendToPluginEvent,
    StateType,
    SystemDidWakeUpEvent,
    TargetType,
    TitleParameters,
    TitleParametersDidChangeEvent,
    WillAppearEvent,
    WillDisappearEvent,
} from './interfaces/interfaces';
import { ActionManager } from './manager/action.manager';
import { EventManager } from './manager/event.manager';
import { SettingsManager } from './manager/settings.manager';

export {
    SDOnActionEvent,
    SDOnPiEvent,
    StreamDeckAction,
    StreamDeckHandlerBase,
    StreamDeckPluginHandler,
    StreamDeckPropertyInspectorHandler,
    PossibleEventsForAllToReceive,
    PossibleEventsForPiToReceive,
    PossibleEventsForActionToReceive,
    PossibleEventsToSend,
    PossibleEventsForAllToSend,
    PossibleEventsForPiToSend,
    PossibleEventsForActionToSend,
    PossibleEventsToReceive,
    TitleParameters,
    DeviceType,
    TargetType,
    StateType,
    EventType,
    Coordinates,
    AcdData,
    InitBase,
    InitPi,
    InitEventInfo,
    InitEventInfoApplication,
    InitEventInfoPlugin,
    InitEventInfoDevice,
    InitEventInfoDeviceSize,
    InitEventActionInfo,
    InitEventActionInfoPayload,
    InitEventActionInfoPayloadCoordinates,
    SystemDidWakeUpEvent,
    DidReceiveGlobalSettingsEvent,
    DidReceiveSettingsEvent,
    SendToPiEvent,
    SendToPluginEvent,
    PropertyInspectorDidAppearEvent,
    PropertyInspectorDidDisappearEvent,
    TitleParametersDidChangeEvent,
    KeyDownEvent,
    KeyUpEvent,
    DialUpEvent,
    DialDownEvent,
    DialRotateEvent,
    DeviceDidConnectEvent,
    DeviceDidDisconnectEvent,
    ApplicationDidLaunchEvent,
    ApplicationDidTerminateEvent,
    WillAppearEvent,
    WillDisappearEvent,
    EventManager,
    SettingsManager,
    ActionManager,
    StreamDeckActionClass,
};
