/**
 * Generic Device Info Retriever
 * Lightweight class for getting device information from any Tapo device
 * without needing to know the specific device type
 */
import { BaseTapoDevice, TapoCredentials, TapoApiRequest, TapoApiResponse, TapoDeviceInfo } from '../types';
export declare class GenericDeviceInfoRetriever extends BaseTapoDevice {
    private auth;
    private klapAuth;
    private useKlap;
    constructor(ip: string, credentials: TapoCredentials);
    /**
     * Connect to the device using either KLAP or Secure Passthrough
     */
    connect(): Promise<void>;
    /**
     * Get device information - works for all device types
     */
    getDeviceInfo(): Promise<TapoDeviceInfo>;
    /**
     * Disconnect and cleanup session
     */
    disconnect(): Promise<void>;
    /**
     * Send request using the appropriate protocol
     */
    protected sendRequest<T>(request: TapoApiRequest): Promise<TapoApiResponse<T>>;
    /**
     * Check if device is authenticated
     */
    isAuthenticated(): boolean;
}
