import { EventEmitter } from "node:events"; import type { BulbLike } from "../util/types.js"; import type { DeviceProtocol } from "./protocol.js"; import type { BulbSysinfoLike, EmeterRealtime, LightStateLike, TransportType } from "./types.js"; interface Transport { send(request: object): Promise; } export declare class KlapBulb extends EventEmitter implements BulbLike { private _sysInfo; private _host; private _port; private readonly transport; private readonly protocol; readonly transportType: TransportType; readonly lighting: { setLightState: (state: Partial) => Promise; }; readonly emeter: { realtime: EmeterRealtime; getRealtime: () => Promise; }; constructor(host: string, port: number, sysinfo: BulbSysinfoLike, transport: Transport, protocol: DeviceProtocol, transportType: TransportType); get id(): string; get alias(): string; get model(): string; get mac(): string; get softwareVersion(): string; get hardwareVersion(): string; get deviceType(): "bulb"; get host(): string; set host(value: string); get port(): number; set port(value: number); get supportsBrightness(): boolean; get supportsColor(): boolean; get supportsColorTemperature(): boolean; get colorTemperatureRange(): { min: number; max: number; } | null; get supportsEmeter(): boolean; get sysInfo(): BulbSysinfoLike; getSysInfo(): Promise; blink(times?: number, rate?: number): Promise; } export {}; //# sourceMappingURL=KlapBulb.d.ts.map