UNPKG

homebridge

Version:
51 lines 2.69 kB
import { EventEmitter } from 'node:events'; export type { MatterEvent, MatterEventType, MatterStatusInfo, ServerStatusUpdate } from './matter/ipc-types.js'; export declare const enum IpcIncomingEvent { RESTART_CHILD_BRIDGE = "restartChildBridge", STOP_CHILD_BRIDGE = "stopChildBridge", START_CHILD_BRIDGE = "startChildBridge", CHILD_BRIDGE_METADATA_REQUEST = "childBridgeMetadataRequest", START_MATTER_MONITORING = "startMatterMonitoring", STOP_MATTER_MONITORING = "stopMatterMonitoring", GET_MATTER_ACCESSORIES = "getMatterAccessories", GET_MATTER_ACCESSORY_INFO = "getMatterAccessoryInfo", MATTER_ACCESSORY_CONTROL = "matterAccessoryControl" } export declare const enum IpcOutgoingEvent { SERVER_STATUS_UPDATE = "serverStatusUpdate", CHILD_BRIDGE_METADATA_RESPONSE = "childBridgeMetadataResponse", CHILD_BRIDGE_STATUS_UPDATE = "childBridgeStatusUpdate", MATTER_EVENT = "matterEvent" } export declare interface IpcService { on: ((event: IpcIncomingEvent.RESTART_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.STOP_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.START_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.CHILD_BRIDGE_METADATA_REQUEST, listener: () => void) => this) & ((event: IpcIncomingEvent.START_MATTER_MONITORING, listener: () => void) => this) & ((event: IpcIncomingEvent.STOP_MATTER_MONITORING, listener: () => void) => this) & ((event: IpcIncomingEvent.GET_MATTER_ACCESSORIES, listener: (data: { bridgeUsername?: string; }) => void) => this) & ((event: IpcIncomingEvent.GET_MATTER_ACCESSORY_INFO, listener: (data: { uuid: string; }) => void) => this) & ((event: IpcIncomingEvent.MATTER_ACCESSORY_CONTROL, listener: (data: { uuid: string; cluster: string; attributes: Record<string, unknown>; partId?: string; }) => void) => this); } export declare class IpcService extends EventEmitter { private readonly messageHandler; constructor(); /** * Start the IPC service listeners. * Currently this will only listen for messages from a parent process. */ start(): void; /** * Stop the IPC service listeners. */ stop(): void; /** * Send a message to connected IPC clients. * Currently, this will only send messages if Homebridge was launched as a child_process.fork() * from another Node.js process (such as hb-service). */ sendMessage(id: IpcOutgoingEvent, data: unknown): void; } //# sourceMappingURL=ipcService.d.ts.map