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 SelectConfiguration = { /** * The current select option */ current_option?: SettableConfiguration; /** * A list of available options as strings */ options?: OPTIONS[]; /** * default: true */ managed?: boolean; }; type SelectOptions = BasicAddParams & { options: OPTIONS; }; export type SelectEvents = { select_option: { option: OPTIONS; }; }; /** * Convenient type for select entities with optional attributes and locals */ export type SynapseSelect = SynapseEntityProxy, SelectEvents, ATTRIBUTES, LOCALS, DATA, PICK_ENTITY<"select">> & { entity: ByIdProxy>; }; export declare function VirtualSelect({ context, synapse, logger }: TServiceParams): , DATA extends object = CallbackData>>({ managed, ...options }: AddEntityOptions, SelectEvents, PARAMS["attributes"], PARAMS["locals"], DATA>) => SynapseSelect; export {};