import { ChannelCategory, PropertyCategory } from '../../../modules/devices/devices.constants'; import { ChannelsService } from '../../../modules/devices/services/channels.service'; import { HomeAssistantDomain } from '../devices-home-assistant.constants'; import { HomeAssistantStateDto } from '../dto/home-assistant-state.dto'; import { HomeAssistantChannelPropertyEntity } from '../entities/devices-home-assistant.entity'; export interface IEntityMapper { get domain(): HomeAssistantDomain; mapFromHA(properties: HomeAssistantChannelPropertyEntity[], state: HomeAssistantStateDto): Promise>; mapToHA(properties: HomeAssistantChannelPropertyEntity[], values: Map): Promise<{ state: string; service: string; attributes?: Map; } | null>; } export declare abstract class EntityMapper implements IEntityMapper { private readonly channelsService; constructor(channelsService: ChannelsService); abstract get domain(): HomeAssistantDomain; mapFromHA(_properties: HomeAssistantChannelPropertyEntity[], _state: HomeAssistantStateDto): Promise>; mapToHA(_properties: HomeAssistantChannelPropertyEntity[], _values: Map): Promise<{ state: string; service: string; attributes?: Map; } | null>; protected getValidProperty(properties: HomeAssistantChannelPropertyEntity[], expectedPropertyCategory: PropertyCategory, haAttribute: string, expectedChannelCategories: ChannelCategory[]): Promise; }