@class NSLock, NSMutableDictionary, AVConference, NSNumber, NSMutableArray; @interface IMAVConferenceInterface : IMAVInterface <AVConferenceDelegate> { NSMutableArray *_avConferencesToCleanup; NSMutableDictionary *_avConferences; NSLock *_avConferencesLock; BOOL _duringInit; BOOL _pendingCleanup; } @property (retain, nonatomic, getter=isSendingVideoExpected) NSNumber *sendingVideoExpected; @property (readonly, nonatomic) AVConference *controller; + (void)_postParticipantMediaChangeNotification:(id)a0 cameraChanged:(BOOL)a1 orientationChanged:(BOOL)a2 aspectChanged:(BOOL)a3 contentRectChanged:(BOOL)a4 cameraWillSwitch:(BOOL)a5 camera:(unsigned int)a6 orentation:(unsigned int)a7 aspect:(struct CGSize { double x0; double x1; })a8 contentRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a9; + (void)_postParticipantScreenAttributesChangeNotification:(id)a0 cameraChanged:(BOOL)a1 orientationChanged:(BOOL)a2 aspectChanged:(BOOL)a3 cameraWillSwitch:(BOOL)a4 camera:(unsigned int)a5 orentation:(unsigned int)a6 aspect:(struct CGSize { double x0; double x1; })a7; + (BOOL)_useMultipleAVConference; - (unsigned long long)capabilities; - (BOOL)supportsRelay; - (id)init; - (void)dealloc; - (void)_conferenceEnded:(id)a0; - (void).cxx_destruct; - (void)chatStateUpdated; - (id)_controller; - (BOOL)stopPreview; - (void)conference:(id)a0 cancelRelayRequest:(long long)a1 requestDict:(id)a2; - (void)conference:(id)a0 didChangeLocalVariablesForCallID:(long long)a1; - (void)conference:(id)a0 didStartSession:(BOOL)a1 withUserInfo:(id)a2; - (void)conference:(id)a0 didStopWithCallID:(long long)a1 error:(id)a2; - (void)conference:(id)a0 didStopWithCallID:(long long)a1 error:(id)a2 callMetadata:(id)a3; - (void)conference:(id)a0 inititiateRelayRequest:(long long)a1 requestDict:(id)a2; - (void)conference:(id)a0 localIPChange:(id)a1 withCallID:(long long)a2; - (void)conference:(id)a0 receivedFirstRemoteFrameForCallID:(long long)a1; - (void)conference:(id)a0 reinitializeCallForCallID:(unsigned int)a1; - (void)conference:(id)a0 remoteAudioPaused:(BOOL)a1 callID:(long long)a2; - (void)conference:(id)a0 remoteScreenAttributesChanged:(id)a1 callID:(long long)a2; - (void)conference:(id)a0 remoteVideoAttributesChanged:(id)a1 callID:(long long)a2; - (void)conference:(id)a0 remoteVideoPaused:(BOOL)a1 callID:(long long)a2; - (void)conference:(id)a0 sendRelayUpdate:(long long)a1 updateDict:(id)a2; - (void)conference:(id)a0 updateInputFrequencyLevel:(id)a1; - (void)conference:(id)a0 updateOutputFrequencyLevel:(id)a1; - (void)conference:(id)a0 videoQualityNotificationForCallID:(long long)a1 isDegraded:(BOOL)a2 isRemote:(BOOL)a3; - (void)conference:(id)a0 withCallID:(long long)a1 didPauseAudio:(BOOL)a2 error:(id)a3; - (void)conference:(id)a0 withCallID:(long long)a1 networkHint:(BOOL)a2; - (void)conference:(id)a0 withCallID:(long long)a1 remoteMediaStalled:(BOOL)a2; - (void)serverDiedForConference:(id)a0; - (void *)localVideoLayer; - (void)setLocalVideoLayer:(void *)a0; - (void)_avChatDealloc:(id)a0; - (void)endAVConferenceWithChat:(id)a0 callID:(long long)a1; - (void)_configureAVConference:(id)a0 forChat:(id)a1; - (BOOL)_submitEndCallMetric:(id)a0 forCallID:(long long)a1; - (void)avChat:(id)a0 setMute:(BOOL)a1; - (void)initAVInterface; - (id)_avChatForConference:(id)a0; - (id)_avChatForConference:(id)a0 callID:(long long)a1 errorString:(id)a2; - (void)_cleanupAVInterface; - (id)_conferenceForAVChat:(id)a0; - (int)_deviceRoleForAVChat:(id)a0; - (id)_existingConferenceForAVChat:(id)a0; - (id)_existingConferenceForAVChatGUID:(id)a0; - (id)_faceTimeUUID; - (BOOL)_hasAVConferenceObjectsForChatsOtherThan:(id)a0; - (id)_imAVChatParticipantForConference:(id)a0 callID:(long long)a1 errorString:(id)a2; - (void)_notifyAboutPotentialCallForChat:(id)a0; - (void)_queueAVConferenceForCleanup:(id)a0; - (BOOL)_submitLoggingInformation:(id)a0 forChat:(id)a1; - (int)avChat:(id)a0 endConferenceForUserID:(id)a1; - (BOOL)avChat:(id)a0 generateCallInfoForID:(id)a1 service:(id)a2 usingRelay:(BOOL)a3 callInfo:(id)a4; - (void)avChat:(id)a0 prepareConnectionWithCallInfo:(id)a1; - (void)avChat:(id)a0 setLocalLandscapeAspectRatio:(struct CGSize { double x0; double x1; })a1 localPortraitAspectRatio:(struct CGSize { double x0; double x1; })a2; - (void)avChat:(id)a0 setPaused:(BOOL)a1; - (void)avChat:(id)a0 setSendingAudio:(BOOL)a1; - (void)avChat:(id)a0 setSendingVideo:(BOOL)a1; - (void)cancelConferenceForAVChat:(id)a0; - (unsigned long long)capabilitiesOfCPU; - (unsigned long long)capabilitiesOfNetwork; - (void)chatRelayedStatusChanged:(id)a0; - (void)conference:(id)a0 callID:(long long)a1 setPauseVideo:(BOOL)a2; - (int)endConferenceForAVChat:(id)a0; - (id)getNatIPFromICEData:(id)a0; - (void)handleRelayCancel:(id)a0 fromParticipant:(id)a1 callInfo:(id)a2; - (void)handleRelayInitate:(id)a0 fromParticipant:(id)a1 callInfo:(id)a2; - (void)handleRelayUpdate:(id)a0 fromParticipant:(id)a1 callInfo:(id)a2; - (BOOL)isAVInterfaceReady; - (BOOL)isMuteForAVChat:(id)a0; - (BOOL)isPausedForAVChat:(id)a0; - (BOOL)isSendingAudioForAVChat:(id)a0; - (BOOL)isSendingVideoForAVChat:(id)a0; - (void *)localVideoBackLayer; - (id)natTypeForAVChat:(id)a0; - (void)processRemoteIPChanged:(id)a0 fromParticipant:(id)a1; - (void)setLocalVideoBackLayer:(void *)a0; - (void)setRemoteVideoPresentationSize:(struct CGSize { double x0; double x1; })a0 forChat:(id)a1; - (void)setRemoteVideoPresentationState:(unsigned int)a0 forChat:(id)a1; - (BOOL)startPreviewWithError:(id *)a0; - (BOOL)supportsLayers; - (void)updateAVChat:(id)a0 withCallMetadata:(id)a1 isFinalUpdate:(BOOL)a2; @end