export * from './types';
export * from './core';
export * from './devices/base-device';
export * from './devices/plug-device';
export * from './devices/bulb-device';
export * from './controllers/device-controller';
export * from './controllers/energy-controller';
export { LightingController, type ColorInfo, type BrightnessInfo, type LightingState } from './controllers/lighting-controller';
export * from './factory/device-factory';
export * from './services/device-control-service';
export * from './services/batch-operation-service';
export * from './devices';
import { TapoCredentials } from './types';
import { BaseDevice } from './devices/base-device';
/**
 * Main TapoConnect class with refactored architecture
 * Uses the new composition-based device architecture
 */
export declare class TapoConnect {
    /**
     * Create a device instance with automatic type detection
     * Recommended approach for new code
     */
    static createDevice(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
    /**
     * Create a device instance with type hint
     * Useful when you know the device type in advance
     */
    static createDeviceWithHint(ip: string, credentials: TapoCredentials, methodHint: string): Promise<BaseDevice>;
    /**
     * Create a P100 Smart Plug instance
     * P100 is a basic smart plug without energy monitoring
     * @deprecated Use createDevice() for automatic type detection
     */
    static createP100Plug(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
    /**
     * Create a P105 Smart Plug instance
     * P105 is a basic smart plug without energy monitoring
     * @deprecated Use createDevice() for automatic type detection
     */
    static createP105Plug(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
    /**
     * Create a P110 Smart Plug instance
     * P110 is a smart plug with energy monitoring capabilities
     * @deprecated Use createDevice() for automatic type detection
     */
    static createP110Plug(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
    /**
     * Create a P115 Smart Plug instance
     * P115 is a smart plug with energy monitoring capabilities
     * @deprecated Use createDevice() for automatic type detection
     */
    static createP115Plug(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
    /**
     * Create an L510 Smart Bulb instance
     * L510 is a dimmable white light bulb
     * @deprecated Use createDevice() for automatic type detection
     */
    static createL510Bulb(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
    /**
     * Create an L520 Smart Bulb instance
     * L520 is a tunable white light bulb with color temperature control
     * @deprecated Use createDevice() for automatic type detection
     */
    static createL520Bulb(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
    /**
     * Create an L530 Smart Bulb instance
     * L530 is a full color bulb with effects support
     * @deprecated Use createDevice() for automatic type detection
     */
    static createL530Bulb(ip: string, credentials: TapoCredentials): Promise<BaseDevice>;
}
export default TapoConnect;
export * from './wrapper/tplink-tapo-connect-wrapper';
export type { RetryOptions } from './types/retry-options';
export { TapoRetryHandler, withRetry, retryable, type RetryConfig, type RetryResult } from './utils/retry-utils';
