/** * Light Engine Charlie API Client * Demonstrates type-safe API interactions using TypeScript */ import type { ApiResponse, SensorPayload, LatestReadingsResponse, EnvHistoryResponse, DiscoveryTriggerResponse, DiscoveryDevicesResponse, NetworkTestRequest, NetworkTestResponse, DeviceCommandRequest, DeviceCommandResponse, LightingFixturesResponse, FailsafePowerRequest, FailsafePowerResponse, AutomationRule, RulesListResponse, RuleCreateResponse, HealthResponse } from './types'; export interface ClientConfig { baseUrl: string; timeout?: number; apiKey?: string; } export declare class LightEngineClient { private baseUrl; private timeout; private apiKey?; constructor(config: ClientConfig); /** * Make a type-safe HTTP request */ private request; health(): Promise; ingestSensorData(payload: SensorPayload): Promise; getLatestReadings(scope: string): Promise; getSensorHistory(scope: string, metric: string, hours?: number): Promise; getScopes(): Promise<{ scopes: string[]; count: number; timestamp: string; }>; triggerDiscovery(): Promise; getDiscoveredDevices(): Promise; getKasaDevices(): Promise; getMqttDevices(): Promise; getBleDevices(): Promise; getMdnsDevices(): Promise; testNetworkConnection(request: NetworkTestRequest): Promise; scanWifiNetworks(): Promise<{ available: boolean; networks?: Array<{ ssid: string; signal?: number; }>; count?: number; timestamp: string; }>; sendDeviceCommand(request: DeviceCommandRequest): Promise; getLightingFixtures(): Promise; lightingFailsafe(request: FailsafePowerRequest): Promise; listRules(): Promise; createRule(rule: AutomationRule): Promise; updateRule(ruleId: string, updates: Partial): Promise; deleteRule(ruleId: string): Promise; } export default LightEngineClient; //# sourceMappingURL=client.d.ts.map