import { TapoDeviceInfo } from './base'; export declare namespace tplinkTapoConnectWrapperType { type tapoConnectResults = { result: boolean; tapoDeviceInfo?: TapoDeviceInfo; tapoEnergyUsage?: any | undefined; errorInf?: Error; }; } export type TapoDeviceControlInterface = { turnOn: (deviceId?: string) => Promise; turnOff: (deviceId?: string) => Promise; setBrightness: (brightnessLevel?: number) => Promise; setColour: (colour?: string) => Promise; setHSL: (hue: number, sat: number, lum: number) => Promise; getDeviceInfo: () => Promise; getChildDevicesInfo: () => Promise>; getEnergyUsage: () => Promise; on: () => Promise; off: () => Promise; getCurrentPower?: () => Promise; close?: () => Promise; }; export type TapoProtocol = { send: (request: any) => any; close?: () => Promise; }; export type TapoDeviceKey = { key: Buffer; iv: Buffer; deviceIp: string; sessionCookie: string; token?: string; sessionUUID?: string; }; export type TapoVideoImage = { uri: string; length: number; uriExpiresAt: number; }; export type TapoVideo = { uri: string; duration: number; m3u8: string; startTimestamp: number; uriExpiresAt: number; }; export type TapoVideoPageItem = { uuid: string; video: TapoVideo[]; image: TapoVideoImage[]; createdTime: number; eventLocalTime: string; }; export type TapoVideoList = { deviceId: string; total: number; page: number; pageSize: number; index: TapoVideoPageItem[]; };