import type { JsonObject } from "@elgato/utils"; import type { ApplicationDidLaunch, ApplicationDidTerminate, DeviceDidChange, DeviceDidConnect, DeviceDidDisconnect, DialDown, DialRotate, DialUp, DidReceiveResources, DidReceiveSettings, KeyDown, KeyUp, PropertyInspectorDidAppear, PropertyInspectorDidDisappear, SystemDidWakeUp, TitleParametersDidChange, TouchTap, WillAppear, WillDisappear } from "../../api/index.js"; import type { ActionContext } from "../actions/context.js"; import type { DialAction } from "../actions/dial.js"; import type { KeyAction } from "../actions/key.js"; import type { Device } from "../devices/index.js"; import { ActionEvent, ActionWithoutPayloadEvent } from "./action-event.js"; import { ApplicationEvent } from "./application-event.js"; import { DeviceEvent } from "./device-event.js"; import { Event } from "./event.js"; export { DidReceiveDeepLinkEvent } from "./deep-link-event.js"; export { DidReceiveGlobalSettingsEvent } from "./global-settings-event.js"; export { SendToPluginEvent } from "./ui-message-event.js"; /** * Event information received from Stream Deck when a monitored application launches. */ export type ApplicationDidLaunchEvent = ApplicationEvent; /** * Event information received from Stream Deck when a monitored application terminates. */ export type ApplicationDidTerminateEvent = ApplicationEvent; /** * Event information received from Stream Deck when a Stream Deck device changed. */ export type DeviceDidChangeEvent = DeviceEvent>; /** * Event information received from Stream Deck when a Stream Deck device connects. */ export type DeviceDidConnectEvent = DeviceEvent>; /** * Event information received from Stream Deck when a Stream Deck device disconnected. */ export type DeviceDidDisconnectEvent = DeviceEvent; /** * Event information received from Stream Deck when a dial is pressed down. */ export type DialDownEvent = ActionEvent, DialAction>; /** * Event information received from Stream Deck when a dial is rotated. */ export type DialRotateEvent = ActionEvent, DialAction>; /** * Event information received from Stream Deck when a pressed dial is released. */ export type DialUpEvent = ActionEvent, DialAction>; /** * Event information received from Stream Deck when the plugin receives settings. */ export type DidReceiveSettingsEvent = ActionEvent, DialAction | KeyAction>; /** * Event information received from Stream Deck when the plugin receives resources. */ export type DidReceiveResourcesEvent = ActionEvent, DialAction | KeyAction>; /** * Event information received from Stream Deck when a key is pressed down. */ export type KeyDownEvent = ActionEvent, KeyAction>; /** * Event information received from Stream Deck when a pressed key is release. */ export type KeyUpEvent = ActionEvent, KeyAction>; /** * Event information received from Stream Deck when the property inspector appears. */ export type PropertyInspectorDidAppearEvent = ActionWithoutPayloadEvent | KeyAction>; /** * Event information received from Stream Deck when the property inspector disappears. */ export type PropertyInspectorDidDisappearEvent = ActionWithoutPayloadEvent | KeyAction>; /** * Event information received from Stream Deck when the title, or title parameters, change. */ export type TitleParametersDidChangeEvent = ActionEvent, DialAction | KeyAction>; /** * Event information receives from Streak Deck when the system wakes from sleep. */ export type SystemDidWakeUpEvent = Event; /** * Event information received from Stream Deck when the touchscreen is touched. */ export type TouchTapEvent = ActionEvent, DialAction>; /** * Event information received from Stream Deck when an action appears on the canvas. */ export type WillAppearEvent = ActionEvent, DialAction | KeyAction>; /** * Event information received from Stream Deck when an action disappears from the canvas. */ export type WillDisappearEvent = ActionEvent, ActionContext>;