/** * Eufy WebSocket API Driver Events * * Contains TypeScript interfaces for driver-level event payloads in the Eufy Security WebSocket API. * * See: eufy-security-ws/docs/api_events.md for event schema details. */ /** * Driver level events for Eufy WebSocket API */ import { DRIVER_EVENTS, DriverEventType } from "./constants"; import { EVENT_SOURCES } from "../common/constants"; export type DriverEventSource = typeof EVENT_SOURCES.DRIVER; export interface BaseDriverEventPayload { source: DriverEventSource; event: TEventName; } export interface DriverVerifyCodeEventPayload extends BaseDriverEventPayload { methods?: string[]; } export interface DriverCaptchaRequestEventPayload extends BaseDriverEventPayload { captchaId: string; captcha: string; } export interface DriverConnectedEventPayload extends BaseDriverEventPayload { } export interface DriverDisconnectedEventPayload extends BaseDriverEventPayload { } export interface DriverPushConnectedEventPayload extends BaseDriverEventPayload { } export interface DriverPushDisconnectedEventPayload extends BaseDriverEventPayload { } export interface DriverMqttConnectedEventPayload extends BaseDriverEventPayload { } export interface DriverMqttDisconnectedEventPayload extends BaseDriverEventPayload { } export interface DriverLogLevelChangedEventPayload extends BaseDriverEventPayload { level: string; } export interface DriverLoggingEventPayload extends BaseDriverEventPayload { level: string; message: string; } export interface DriverConnectionErrorEventPayload extends BaseDriverEventPayload { error: string; } export type DriverEventPayload = DriverVerifyCodeEventPayload | DriverCaptchaRequestEventPayload | DriverConnectedEventPayload | DriverDisconnectedEventPayload | DriverPushConnectedEventPayload | DriverPushDisconnectedEventPayload | DriverMqttConnectedEventPayload | DriverMqttDisconnectedEventPayload | DriverLogLevelChangedEventPayload | DriverLoggingEventPayload | DriverConnectionErrorEventPayload; export type DriverEventPayloadByType = Extract; export type DriverEventListener = (event: DriverEventPayloadByType) => void; export type AnyDriverEventListener = (event: DriverEventPayload) => void; //# sourceMappingURL=events.d.ts.map