import { BaseTapoDevice, TapoCredentials, TapoApiRequest, TapoApiResponse, P105DeviceInfo, P105UsageInfo, FeatureNotSupportedError, DeviceCapabilityError, Result, DeviceMethodOptions } from '../../types'; export declare class P105Plug extends BaseTapoDevice { private unifiedProtocol; private featureCache; private deviceModel?; private requestQueue; constructor(ip: string, credentials: TapoCredentials); private checkDeviceConnectivity; connect(): Promise; disconnect(): Promise; /** * Check if device is currently authenticated */ isAuthenticated(): boolean; getDeviceInfo(): Promise; /** * Check if the device supports energy monitoring features */ hasEnergyMonitoring(): Promise; /** * Check if the device supports a specific feature */ supportsFeature(feature: string): Promise; turnOn(): Promise; turnOff(): Promise; toggle(): Promise; on(): Promise; off(): Promise; isOn(): Promise; getUsageInfo(options?: DeviceMethodOptions): Promise; /** * Get usage info using Result pattern for better error handling */ getUsageInfoResult(): Promise>; getCurrentPower(options?: DeviceMethodOptions): Promise; getTodayEnergy(options?: DeviceMethodOptions): Promise; getMonthEnergy(options?: DeviceMethodOptions): Promise; getTodayRuntime(options?: DeviceMethodOptions): Promise; getMonthRuntime(options?: DeviceMethodOptions): Promise; isOverheated(): Promise; getOnTime(): Promise; setDeviceInfo(params: Record): Promise; protected sendRequest(request: TapoApiRequest): Promise>; }