import { Repository } from 'typeorm'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { CreateMediaActivityBindingDto, UpdateMediaActivityBindingDto } from '../dto/media-activity-binding.dto'; import { SpaceMediaActivityBindingEntity } from '../entities/space-media-activity-binding.entity'; import { MediaActivityKey } from '../spaces.constants'; import { DerivedMediaEndpointService } from './derived-media-endpoint.service'; import { MediaCapabilityService } from './media-capability.service'; import { SpacesService } from './spaces.service'; export declare class SpaceMediaActivityBindingService { private readonly repository; private readonly spacesService; private readonly derivedMediaEndpointService; private readonly mediaCapabilityService; private readonly eventEmitter; private readonly logger; constructor(repository: Repository, spacesService: SpacesService, derivedMediaEndpointService: DerivedMediaEndpointService, mediaCapabilityService: MediaCapabilityService, eventEmitter: EventEmitter2); findBySpace(spaceId: string): Promise; findOne(bindingId: string): Promise; getOneOrThrow(bindingId: string): Promise; getOneOrThrowForSpace(spaceId: string, bindingId: string): Promise; create(spaceId: string, dto: CreateMediaActivityBindingDto): Promise; updateForSpace(spaceId: string, bindingId: string, dto: UpdateMediaActivityBindingDto): Promise; update(bindingId: string, dto: UpdateMediaActivityBindingDto): Promise; deleteForSpace(spaceId: string, bindingId: string): Promise; delete(bindingId: string): Promise; applyDefaults(spaceId: string): Promise; validateBindings(spaceId: string): Promise; private applyUpdate; private buildEndpointMap; private validateSlots; private validateOverrides; private findRemoteForDevice; private findListenRemote; private validateSlotForReport; } export interface BindingValidationIssue { slot: string | null; severity: 'error' | 'warning' | 'info'; message: string; } export interface BindingValidationReport { activityKey: MediaActivityKey; bindingId: string | null; issues: BindingValidationIssue[]; valid: boolean; }