import { RetryOptions } from '../types/retry-options'; import { tplinkTapoConnectWrapperType } from '../types/wrapper-types'; export { tplinkTapoConnectWrapperType, TapoDeviceControlInterface, TapoProtocol, TapoDeviceKey, TapoVideoImage, TapoVideo, TapoVideoPageItem, TapoVideoList } from '../types/wrapper-types'; /** * Main wrapper class for TP-Link Tapo device operations * Provides a simplified interface for device control with proper error handling and retry logic * * @export * @class tplinkTapoConnectWrapper */ export declare class tplinkTapoConnectWrapper { readonly currentWorkingDirectory: string; private static _instance; /** * Get singleton instance * * @static * @returns {tplinkTapoConnectWrapper} * @memberof tplinkTapoConnectWrapper */ static getInstance(): tplinkTapoConnectWrapper; /** * Creates an instance of tplinkTapoConnectWrapper. * @memberof tplinkTapoConnectWrapper */ constructor(); /** * Clear all cached clients and their devices */ clearCache(): void; /** * Get device information including energy usage data for supported devices * The method will automatically detect the device type and retrieve basic device information * Energy usage data is included automatically for supported devices (P110, P115, etc.) * * @param {string} _email - Tapo account email * @param {string} _password - Tapo account password * @param {string} _targetIp - Device IP address * @param {RetryOptions} _retryOptions - Optional retry configuration * @returns {Promise< tplinkTapoConnectWrapperType.tapoConnectResults >} - Contains device information and energy usage (if supported) * @memberof tplinkTapoConnectWrapper */ getTapoDeviceInfo(_email: string, _password: string, _targetIp: string, _retryOptions?: RetryOptions): Promise; /** * Get energy usage information for devices that support energy monitoring * First checks if the device supports energy monitoring, then retrieves energy data * * @deprecated Use getTapoDeviceInfo() instead, which now includes energy usage data for supported devices * @param {string} _email - Tapo account email * @param {string} _password - Tapo account password * @param {string} _targetIp - Device IP address * @param {RetryOptions} _retryOptions - Optional retry configuration * @return {*} {Promise} * @memberof tplinkTapoConnectWrapper */ getTapoEnergyUsage(_email: string, _password: string, _targetIp: string, _retryOptions?: RetryOptions): Promise; /** * Turn device on * * @param {string} _email - Tapo account email * @param {string} _password - Tapo account password * @param {string} _targetIp - Device IP address * @param {RetryOptions} _retryOptions - Optional retry configuration * @returns {Promise< tplinkTapoConnectWrapperType.tapoConnectResults >} * @memberof tplinkTapoConnectWrapper */ setTapoTurnOn(_email: string, _password: string, _targetIp: string, _retryOptions?: RetryOptions): Promise; /** * Turn device off * * @param {string} _email - Tapo account email * @param {string} _password - Tapo account password * @param {string} _targetIp - Device IP address * @param {RetryOptions} _retryOptions - Optional retry configuration * @returns {Promise< tplinkTapoConnectWrapperType.tapoConnectResults >} * @memberof tplinkTapoConnectWrapper */ setTapoTurnOff(_email: string, _password: string, _targetIp: string, _retryOptions?: RetryOptions): Promise; /** * Set device brightness * * @param {string} _email - Tapo account email * @param {string} _password - Tapo account password * @param {string} _targetIp - Device IP address * @param {number} _brightness - Brightness level (1-100) * @param {RetryOptions} _retryOptions - Optional retry configuration * @returns {Promise< tplinkTapoConnectWrapperType.tapoConnectResults >} * @memberof tplinkTapoConnectWrapper */ setTapoBrightness(_email: string, _password: string, _targetIp: string, _brightness: number, _retryOptions?: RetryOptions): Promise; /** * Set color using named color * * @param {string} _email - Tapo account email * @param {string} _password - Tapo account password * @param {string} _targetIp - Device IP address * @param {string} _colour - Named color (red, green, blue, etc.) * @param {RetryOptions} _retryOptions - Optional retry configuration * @returns {Promise< tplinkTapoConnectWrapperType.tapoConnectResults >} * @memberof tplinkTapoConnectWrapper */ setTapoColour(_email: string, _password: string, _targetIp: string, _colour: string, _retryOptions?: RetryOptions): Promise; /** * Batch operations with smart delays to prevent KLAP -1012 errors * Migrated from Enhanced Wrapper for consistency */ executeBatch(operations: Array<{ operation: () => Promise; name: string; delayAfter?: number; }>, options?: { defaultDelay?: number; retryOptions?: RetryOptions; }): Promise>; }