import { DataSource, Repository } from 'typeorm'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { DeviceEntity } from '../../devices/entities/devices.entity'; import { DeviceZonesService } from '../../devices/services/device-zones.service'; import { DisplayEntity } from '../../displays/entities/displays.entity'; import { BulkAssignDto } from '../dto/bulk-assign.dto'; import { CreateSpaceDto } from '../dto/create-space.dto'; import { UpdateSpaceDto } from '../dto/update-space.dto'; import { SpaceEntity } from '../entities/space.entity'; import { SpaceRoomCategory, SpaceType, SpaceZoneCategory } from '../spaces.constants'; export declare class SpacesService { private readonly repository; private readonly deviceRepository; private readonly displayRepository; private readonly deviceZonesService; private readonly dataSource; private readonly eventEmitter; private readonly logger; constructor(repository: Repository, deviceRepository: Repository, displayRepository: Repository, deviceZonesService: DeviceZonesService, dataSource: DataSource, eventEmitter: EventEmitter2); findAll(): Promise; findOne(id: string): Promise; getOneOrThrow(id: string): Promise; findByCanonicalName(canonicalName: string): Promise; create(createDto: CreateSpaceDto): Promise; update(id: string, updateDto: UpdateSpaceDto): Promise; remove(id: string): Promise; findDevicesBySpace(spaceId: string): Promise; findDevicesByIds(deviceIds: string[]): Promise; isDeviceInSpace(spaceId: string, deviceId: string): Promise; findDisplaysBySpace(spaceId: string): Promise; bulkAssign(spaceId: string, bulkAssignDto: BulkAssignDto): Promise<{ devicesAssigned: number; displaysAssigned: number; }>; unassignDevices(deviceIds: string[]): Promise; unassignDisplays(displayIds: string[]): Promise; proposeSpaces(): Promise<{ name: string; type: SpaceType; category: SpaceRoomCategory | SpaceZoneCategory | null; deviceIds: string[]; deviceCount: number; }[]>; getChildRooms(zoneId: string): Promise; getParentZone(roomId: string): Promise; findAllZones(): Promise; private validateParentAssignment; private validateDto; }