import { TapoLightState } from '../lightstate/tapo-lightstate'; import KlapCipher from '../utils/klap-cipher'; export declare class TapoApi { protected readonly terminalUUID: string; protected loginToken?: string; _baseUrl: string; private static readonly REGIONAL_ENDPOINTS; private static readonly TP_TEST_USER; private static readonly TP_TEST_PASSWORD; private session?; private securePassthrough?; private protocolType; private axiosInstance; private _config; private _token; private _devices; constructor(config?: { email?: string; password?: string; token?: string; timeout?: number; httpTimeout?: number; }); auth: ({ email, password }: { email: string; password: string; }) => Promise; setup: (devices: Array<{ id: string; host: string; }>, logger?: any) => Promise<{ responses: PromiseSettledResult[]; devices: Map; }>; sendState: (config: { device: { id: string; }; state: TapoLightState; fetchConfig?: { shouldWait: boolean; }; }) => Promise; sendPower: (config: { device: { id: string; }; power: boolean; }) => Promise; getDeviceInfo: (deviceId: string) => Promise; getEnergyUsage: (deviceId: string) => Promise; private sessionPost; needsNewHandshake(devSession: any): boolean; private handshake; private firstHandshake; private secondHandshake; private sha256; private sha1; private hashAuth; } declare class DeviceSession { ip: string; private readonly cookie; readonly cipher?: KlapCipher; readonly handshakeCompleted: boolean; private readonly expireAt; private readonly rawTimeout; constructor(timeout: string, ip: string, cookie: string, cipher?: KlapCipher); get IsExpired(): boolean; get Cookie(): string; completeHandshake(ip: string, cipher: KlapCipher): DeviceSession; } export {};