import type { JsonObject, JsonValue } from "@elgato/utils"; import type { DidReceiveResources, DidReceiveSettings, TitleParametersDidChange, WillAppear, WillDisappear } from "./action.js"; import type { DeviceDidChange, DeviceDidConnect, DeviceDidDisconnect } from "./device.js"; import type { DialDown, DialRotate, DialUp, TouchTap } from "./encoder.js"; import type { KeyDown, KeyUp } from "./keypad.js"; import type { ApplicationDidLaunch, ApplicationDidTerminate, DidReceiveDeepLink, DidReceiveGlobalSettings, DidReceiveSecrets, SystemDidWakeUp } from "./system.js"; import type { DidReceivePropertyInspectorMessage, PropertyInspectorDidAppear, PropertyInspectorDidDisappear } from "./ui.js"; export { type Controller } from "@elgato/schemas/streamdeck/plugins"; export { type ActionIdentifier, type State } from "./action.js"; export { type DeviceIdentifier } from "./device.js"; export { type Coordinates, type DidReceiveResources, type DidReceiveSettings, type TitleParametersDidChange, type WillAppear, type WillDisappear, } from "./action.js"; export { type DeviceDidChange, type DeviceDidConnect, type DeviceDidDisconnect } from "./device.js"; export { type DialDown, type DialRotate, type DialUp, type TouchTap } from "./encoder.js"; export { type KeyDown, type KeyUp } from "./keypad.js"; export { type ApplicationDidLaunch, type ApplicationDidTerminate, type DidReceiveDeepLink, type DidReceiveGlobalSettings, type SystemDidWakeUp, } from "./system.js"; export { type DidReceivePropertyInspectorMessage, type PropertyInspectorDidAppear, type PropertyInspectorDidDisappear, } from "./ui.js"; /** * Represents an event that is emitted by Stream Deck. */ export type EventIdentifier = { /** * Name of the event used to identify what occurred. */ readonly event: TEvent; }; /** * Events received by the plugin, from Stream Deck. */ export type PluginEvent = ApplicationDidLaunch | ApplicationDidTerminate | DeviceDidChange | DeviceDidConnect | DeviceDidDisconnect | DialDown | DialRotate | DialUp | DidReceiveDeepLink | DidReceiveGlobalSettings | DidReceivePropertyInspectorMessage | DidReceiveResources | DidReceiveSecrets | DidReceiveSettings | KeyDown | KeyUp | PropertyInspectorDidAppear | PropertyInspectorDidDisappear | SystemDidWakeUp | TitleParametersDidChange | TouchTap | WillAppear | WillDisappear; /** * Map of events received by the plugin, from Stream Deck. */ export type PluginEventMap = { [K in PluginEvent["event"]]: [event: Extract>]; };