import type { TServiceParams } from "@digital-alchemy/core"; import type { AddEntityOptions, BasicAddParams, CallbackData, SettableConfiguration } from "../../helpers/index.mts"; export type FanConfiguration = { /** * The current direction of the fan. */ current_direction?: SettableConfiguration; /** * True if the fan is on. */ is_on?: SettableConfiguration; /** * True if the fan is oscillating. */ oscillating?: SettableConfiguration; /** * The current speed percentage. Must be a value between 0 (off) and 100. */ percentage?: SettableConfiguration; /** * The current preset_mode. One of the values in preset_modes or None if no preset is active. */ preset_mode?: SettableConfiguration; /** * The list of supported preset_modes. This is an arbitrary list of str and should not contain any speeds. */ preset_modes?: PRESET_MODES[]; /** * The number of speeds the fan supports. */ speed_count?: number; }; export type FanEvents = { set_direction: { direction: string; }; set_preset_mode: { preset_mode: string; }; set_percentage: { percentage: number; }; turn_on: { speed?: string; percentage?: number; preset_mode?: string; }; turn_off: {}; toggle: {}; oscillate: { oscillating: boolean; }; }; export declare function VirtualFan({ context, synapse }: TServiceParams): >>(options: AddEntityOptions, FanEvents, PARAMS["attributes"], PARAMS["locals"], DATA>) => import("../../helpers/common-config.mts").SynapseEntityProxy, FanEvents, PARAMS["attributes"], PARAMS["locals"], DATA, import("@digital-alchemy/hass").PICK_ENTITY>;