@class VCPositionalInfo, NSString, NSDictionary, VCXPCClientShared, NSData, NSObject, NSMutableDictionary; @protocol OS_dispatch_queue, AVCSessionParticipantDelegate; @interface AVCSessionParticipant : NSObject { id _delegate; NSObject *_stateQueue; VCXPCClientShared *_connection; NSDictionary *_streamGroupIDToStreamTokenMap; NSMutableDictionary *_participantConfig; VCPositionalInfo *_videoPositionalInfo; NSMutableDictionary *_mediaStates; NSDictionary *_mediaTypeToSpatialSourceIDMap; struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _mediaStateMutex; } @property (readonly, nonatomic) NSObject *delegateNotificationQueue; @property (nonatomic) BOOL remoteScreenEnabled; @property (nonatomic) long long videoToken; @property (nonatomic) long long screenToken; @property (retain, nonatomic) VCXPCClientShared *sharedXPCConnection; @property (readonly, nonatomic) NSDictionary *config; @property (nonatomic) BOOL configurationInProgress; @property (nonatomic) BOOL hasPendingChanges; @property (nonatomic) NSObject *stateQueue; @property (nonatomic) id delegate; @property (nonatomic) struct tagAVCPositionalInfo { unsigned int x0; struct CGSize { double x0; double x1; } x1; double x2; double x3; double x4; } videoPositionalInfo; @property (readonly, nonatomic) unsigned long long spatialAudioSourceID; @property (nonatomic) unsigned char videoQuality; @property (nonatomic) unsigned int visibilityIndex; @property (nonatomic) unsigned int prominenceIndex; @property (readonly, nonatomic) unsigned long long participantID; @property (nonatomic, getter=isScreenControlEnabled) BOOL screenControlEnabled; @property (readonly, nonatomic) NSString *uuid; @property (readonly, nonatomic) NSData *negotiationData; @property (nonatomic, getter=isAudioMuted) BOOL audioMuted; @property (nonatomic, getter=isAudioEnabled) BOOL audioEnabled; @property (nonatomic, getter=isVideoEnabled) BOOL videoEnabled; @property (nonatomic, getter=isScreenEnabled) BOOL screenEnabled; @property (nonatomic, getter=isAudioPaused) BOOL audioPaused; @property (nonatomic, getter=isVideoPaused) BOOL videoPaused; @property (nonatomic, getter=isOneToOneEnabled) BOOL oneToOneEnabled; @property (nonatomic) float volume; @property (readonly, nonatomic) NSData *frequencyLevels; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)archiveMediaStates:(id)a0; + (unsigned int)defaultStateForMediaType:(unsigned int)a0 isLocal:(BOOL)a1; + (BOOL)isMediaStateAPISupportedForMediaType:(unsigned int)a0; + (id)loopbackNegotiationDataWithData:(id)a0; + (id)unarchiveMediaStatesWithData:(id)a0; - (void)dealloc; - (void)appendConfigurationToXPCConfiguration:(id)a0; - (void)completeAudioEnabled:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)completeAudioPaused:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)completeScreenEnabled:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)completeSetMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1 didSucceed:(BOOL)a2 error:(id)a3; - (void)completeVideoEnabled:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)completeVideoPaused:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)deregisterFromNotifications; - (void)dispatchedCompleteAudioEnabled:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)dispatchedCompleteAudioPaused:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)dispatchedCompleteScreenEnabled:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)dispatchedCompleteVideoEnabled:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)dispatchedCompleteVideoPaused:(BOOL)a0 didSucceed:(BOOL)a1 error:(id)a2; - (void)dispatchedLegacySetMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1; - (unsigned int)dispatchedMediaStateForMediaType:(unsigned int)a0; - (void)dispatchedSetMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1; - (BOOL)generateMediaStateEntryForMediaType:(unsigned int)a0; - (void)handleLegacyTransitionsForMediaType:(unsigned int)a0 mediaState:(unsigned int)a1 previousState:(unsigned int)a2 didSucceed:(BOOL)a3 error:(id)a4; - (id)initWithParticipantID:(unsigned long long)a0 data:(id)a1 delegate:(id)a2 queue:(id)a3; - (BOOL)isConnectedToSession; - (BOOL)isEnabledMediaType:(unsigned int)a0; - (BOOL)isPausedMediaType:(unsigned int)a0; - (unsigned int)mediaStateForMediaType:(unsigned int)a0; - (id)newNSErrorWithErrorDictionary:(id)a0; - (void)printMediaStates; - (void)registerBlocksForNotifications; - (void)setMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1; - (void)setMediaType:(unsigned int)a0 enabled:(BOOL)a1 mediaString:(const char *)a2 xpcMessageKey:(char *)a3 xpcOperationKey:(id)a4 completionBlock:(id /* block */)a5; - (void)setMediaType:(unsigned int)a0 paused:(BOOL)a1 mediaString:(const char *)a2 xpcMessageKey:(char *)a3 xpcOperationKey:(id)a4 completionBlock:(id /* block */)a5; - (void)setMediaTypeToSpatialSourceIDMap:(id)a0; - (void)setStreamTokens:(id)a0; - (void)setupConfig; - (BOOL)setupMediaStates; - (void)setupNotificationQueue:(id)a0; - (unsigned long long)spatialAudioSourceIDForMediaType:(unsigned int)a0; - (void)stateTransitionForMediaType:(unsigned int)a0 mediaState:(unsigned int)a1 previousState:(unsigned int)a2 didSucceed:(BOOL)a3 error:(id)a4; - (void)storeMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1; - (long long)streamTokenForStreamGroupID:(unsigned int)a0; - (void)updateLegacyStates; @end