import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { Accessory } from './accessory.js';
/**
 * Fan - Accessory implementation
 */
export declare class Fan extends Accessory {
    static readonly ACCESSORY_TYPE_NAME: string;
    static readonly ON: boolean;
    static readonly OFF: boolean;
    static readonly CLOCKWISE: number;
    static readonly COUNTER_CLOCKWISE: number;
    private readonly stateStorageKey;
    private readonly rotatioDirectionStorageKey;
    private readonly rotatioSpeedStorageKey;
    private states;
    constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
    setOn(value: CharacteristicValue): Promise<void>;
    getOn(): Promise<CharacteristicValue>;
    setRotationDirection(value: CharacteristicValue): Promise<void>;
    getRotationDirection(): Promise<CharacteristicValue>;
    setRotationSpeed(value: CharacteristicValue): Promise<void>;
    getRotationSpeed(): Promise<CharacteristicValue>;
    protected getJsonState(): string;
    protected getAccessoryTypeName(): string;
    static getStateName(state: boolean): string;
}
