export interface BleTelemetryReading { temperatureCelsius: number; temperatureFahrenheit: number; humidityPercent: number; vpdKpa: number; choosePort: number; workType: number; fanSpeedGuess: number; receivedAtEpochSeconds: number; } export interface BleWifiNetworkCredentials { ssid: string; password: string; hidden: boolean; } export class BleFeatureNotSupportedError extends Error {} export interface BleControllerClient { verifyConnection(macAddress: string): Promise; readTelemetry(macAddress: string, requestPort: number): Promise; setPortSpeed(macAddress: string, portByte: number, speedLevel: number): Promise; recoverWifi(macAddress: string, credentials: BleWifiNetworkCredentials): Promise; }