import type { TServiceParams } from "@digital-alchemy/core"; import type { ValveDeviceClass } from "@digital-alchemy/hass"; import type { AddEntityOptions, BasicAddParams, CallbackData, SettableConfiguration } from "../../helpers/index.mts"; export type ValveConfiguration = { /** * The current position of the valve where 0 means closed and 100 is fully open. * This attribute is required on valves with reports_position = True, where it's used to determine state. */ current_valve_position?: SettableConfiguration; /** * If the valve is closed or not. Used to determine state for valves that don't report position. */ is_closed?: SettableConfiguration; /** * If the valve is opening or not. Used to determine state. */ is_opening?: SettableConfiguration; /** * If the valve knows its position or not. */ reports_position: SettableConfiguration; device_class?: `${ValveDeviceClass}`; /** * If the valve is closing or not. Used to determine state. */ is_closing?: SettableConfiguration; supported_features?: number; }; export type ValveEvents = { open_valve: {}; close_valve: {}; set_valve_position: {}; stop_valve: {}; }; export declare function VirtualValve({ context, synapse }: TServiceParams): >>(options: AddEntityOptions, ValveEvents, PARAMS["attributes"], PARAMS["locals"], DATA>) => import("../../helpers/common-config.mts").SynapseEntityProxy, ValveEvents, PARAMS["attributes"], PARAMS["locals"], DATA, import("@digital-alchemy/hass").PICK_ENTITY>;