@elgato/streamdeck
Version:
The official Node.js SDK for creating Stream Deck plugins.
68 lines (67 loc) • 2.6 kB
TypeScript
import { I18nProvider } from "@elgato/utils/i18n";
import type { Logger } from "@elgato/utils/logging";
import type { Language, RegistrationInfo } from "../api/index.js";
import { type ActionService } from "./actions/service.js";
import { type DeviceService } from "./devices/service.js";
import * as profiles from "./profiles.js";
import { settings } from "./settings.js";
import * as system from "./system.js";
import { type UIController } from "./ui.js";
export { BarSubType, DeviceType, Target, type Bar, type Controller, type Coordinates, type DeviceInfo, type FeedbackPayload, type GBar, type Language, type Manifest, type Pixmap, type RegistrationInfo, type Size, type State, type Text, } from "../api/index.js";
export * from "./actions/index.js";
export * from "./devices/index.js";
export type * from "./events/index.js";
export { type UIController };
export declare const streamDeck: {
/**
* Namespace for event listeners and functionality relating to Stream Deck actions.
* @returns Actions namespace.
*/
readonly actions: ActionService;
/**
* Namespace for interacting with Stream Deck devices.
* @returns Devices namespace.
*/
readonly devices: DeviceService;
/**
* Internalization provider, responsible for managing localizations and translating resources.
* @returns Internalization provider.
*/
readonly i18n: I18nProvider<Language>;
/**
* Registration and application information provided by Stream Deck during initialization.
* @returns Registration information.
*/
readonly info: Omit<RegistrationInfo, "devices">;
/**
* Logger responsible for capturing log messages.
* @returns The logger.
*/
readonly logger: Logger;
/**
* Namespace for Stream Deck profiles.
* @returns Profiles namespace.
*/
readonly profiles: typeof profiles;
/**
* Namespace for persisting settings within Stream Deck.
* @returns Settings namespace.
*/
readonly settings: typeof settings;
/**
* Namespace for interacting with, and receiving events from, the system the plugin is running on.
* @returns System namespace.
*/
readonly system: typeof system;
/**
* Namespace for interacting with UI (property inspector) associated with the plugin.
* @returns UI namespace.
*/
readonly ui: UIController;
/**
* Connects the plugin to the Stream Deck.
* @returns A promise resolved when a connection has been established.
*/
connect(): Promise<void>;
};
export default streamDeck;