import type { TServiceParams } from "@digital-alchemy/core"; import type { AddEntityOptions, BasicAddParams, CallbackData, SettableConfiguration } from "../../helpers/index.mts"; import type { DateConfiguration } from "./date.service.mts"; export type UpdateConfiguration = { /** * The device or service that the entity represents has auto update logic. * When this is set to `true` you can not skip updates. */ auto_update?: SettableConfiguration; device_class?: "firmware"; /** * Update installation progress. * Can either return a boolean (True if in progress, False if not) or an integer to indicate the progress from 0 to 100%. */ in_progress?: SettableConfiguration; /** * The currently installed and used version of the software. */ installed_version?: SettableConfiguration; /** * The latest version of the software available. */ latest_version?: SettableConfiguration; /** * This method can be implemented so users can can get the full release notes in the more-info dialog of the Home Assistant Frontend before they install the update. * * The returned string can contain markdown, and the frontend will format that correctly. * * This method requires UpdateEntityFeature.RELEASE_NOTES to be set. */ release_notes?: SettableConfiguration; /** * Summary of the release notes or changelog. * This is not suitable for long changelogs but merely suitable for a short excerpt update description of max 255 characters. */ release_summary?: SettableConfiguration; /** * URL to the full release notes of the latest version available. */ release_url?: SettableConfiguration; supported_features?: number; /** * Title of the software. This helps to differentiate between the device or entity name versus the title of the software installed. */ title?: SettableConfiguration; }; export type UpdateEvents = { install: { backup?: boolean; version?: string; }; }; export declare function VirtualUpdate({ context, synapse }: TServiceParams): >>(options: AddEntityOptions, UpdateEvents, PARAMS["attributes"], PARAMS["locals"], DATA>) => import("../../helpers/common-config.mts").SynapseEntityProxy, UpdateEvents, PARAMS["attributes"], PARAMS["locals"], DATA, import("@digital-alchemy/hass").PICK_ENTITY>;