import { VeSyncAirBaseV2 } from './airBaseV2';
import { VeSync } from '../vesync';
/**
 * VeSync Tower Fan Implementation
 */
export declare class VeSyncTowerFan extends VeSyncAirBaseV2 {
    protected readonly towerModes: readonly ["normal", "advancedSleep", "off"];
    constructor(details: Record<string, any>, manager: VeSync);
    /**
     * Get device details
     */
    getDetails(): Promise<Boolean>;
    /**
     * Toggle device power
     */
    toggleSwitch(toggle: boolean): Promise<boolean>;
    /**
     * Turn device on
     */
    turnOn(): Promise<boolean>;
    /**
     * Turn device off
     */
    turnOff(): Promise<boolean>;
    /**
     * Set tower fan mode
     */
    mode_toggle(mode: string): Promise<boolean>;
    /**
     * Change fan speed
     */
    changeFanSpeed(speed: number): Promise<boolean>;
    /**
     * Set normal mode
     */
    normal_mode(): Promise<boolean>;
    /**
     * Set manual mode - adapter to set mode to normal
     */
    manual_mode(): Promise<boolean>;
    /**
     * Set advanced sleep mode
     */
    advanced_sleep_mode(): Promise<boolean>;
    /**
     * Set sleep mode - adapter for advanced sleep mode
     */
    sleep_mode(): Promise<boolean>;
    /**
     * Override setMode to handle tower fan specific modes
     */
    setMode(mode: string): Promise<boolean>;
    /**
     * Get current speed
     */
    get speed(): number;
    /**
     * Get display status
     */
    get displayState(): boolean;
    /**
     * Get oscillation status
     */
    get oscillationState(): boolean;
    /**
     * Get mute status
     */
    get muteState(): boolean;
    /**
     * Get temperature (in tenths of a degree)
     */
    get temperature(): number;
    /**
     * Get humidity percentage
     */
    get humidity(): number;
    /**
     * Get thermal comfort level
     */
    get thermalComfort(): number;
    /**
     * Get sleep preferences
     */
    get sleepPreference(): Record<string, any>;
    /**
     * Get schedule count
     */
    get scheduleCount(): number;
    /**
     * Get error code
     */
    get errorCode(): number;
    /**
     * Turn oscillation on
     */
    setOscillationOn(): Promise<boolean>;
    /**
     * Turn oscillation off
     */
    setOscillationOff(): Promise<boolean>;
    /**
     * Display device info
     */
    display(): void;
}
