import type { OptionallyStatefulCommandComponentDiscovery } from "./BaseEntityDiscovery.ts";
import { MakeEntity } from './utils';

export type UpdateDeviceClass = 'None' | 'firmware';

export type UpdateDiscovery = MakeEntity<UpdateComponentDiscovery>;

export interface UpdateComponentDiscovery extends OptionallyStatefulCommandComponentDiscovery {
    platform: 'update';
    device_class?: UpdateDeviceClass;

    /**
     * Url for a picture of the entity.
     */
    entity_picture?: string;

    latest_version_template?: string;
    latest_version_topic?: string;

    payload_install?: string;

    release_summary?: string;

    release_url?: string;

    title?: string;
}