import type { TServiceParams } from "@digital-alchemy/core"; import type { ByIdProxy, PICK_ENTITY } from "@digital-alchemy/hass"; import type { AddEntityOptions, BasicAddParams, CallbackData, SettableConfiguration, SynapseEntityProxy } from "../../helpers/index.mts"; export type SynapseTimeFormat = `${number}${number}:${number}${number}:${number}${number}`; export type TimeConfiguration = { native_value?: SettableConfiguration; /** * default: true */ managed?: boolean; }; export type TimeEvents = { set_value: { value: SynapseTimeFormat; }; }; /** * Convenient type for time entities with optional attributes and locals */ export type SynapseTime = SynapseEntityProxy, TimeEvents, ATTRIBUTES, LOCALS, DATA, PICK_ENTITY<"time">> & { entity: ByIdProxy>; }; export declare function VirtualTime({ context, synapse, logger }: TServiceParams): >>({ managed, ...options }: AddEntityOptions, TimeEvents, PARAMS["attributes"], PARAMS["locals"], DATA>) => SynapseTime;