import { BaseEntity } from '../../../common/entities/base.entity'; import { SpaceEntity } from '../../spaces/entities/space.entity'; import { ChannelCategory, ConnectionState, DataTypeType, DeviceCategory, PermissionType, PropertyCategory } from '../devices.constants'; import { PropertyValueState } from '../models/property-value-state.model'; export declare class DeviceConnectionStatus { online: boolean; status: ConnectionState; lastChanged: Date | null; } export declare class DeviceEntity extends BaseEntity { category: DeviceCategory; identifier: string | null; name: string; description: string | null; enabled: boolean; roomId: string | null; room: SpaceEntity | null; controls: DeviceControlEntity[]; channels: ChannelEntity[]; deviceZones: import('./device-zone.entity').DeviceZoneEntity[]; get zoneIds(): string[]; status: DeviceConnectionStatus; get type(): string; } export declare class DeviceControlEntity extends BaseEntity { name: string; device: DeviceEntity | string; } export declare class ChannelEntity extends BaseEntity { category: ChannelCategory; identifier: string | null; name: string; description: string | null; device: DeviceEntity | string; parentId: string | null; parent: ChannelEntity | null; children: ChannelEntity[]; controls: ChannelControlEntity[]; properties: ChannelPropertyEntity[]; get type(): string; } export declare class ChannelControlEntity extends BaseEntity { name: string; channel: ChannelEntity | string; } export declare class ChannelPropertyEntity extends BaseEntity { category: PropertyCategory; identifier: string | null; name: string | null; permissions: PermissionType[]; dataType: DataTypeType; unit: string | null; format: string[] | number[] | null; invalid: string | boolean | number | null; step: number | null; value: PropertyValueState | null; channel: ChannelEntity | string; get type(): string; }