@class NSString, NSSet, CUTWeakReference, NSMutableDictionary, IDSBaseSocketPairConnection, NSObject; @protocol OS_dispatch_queue; @interface _IDSSession : NSObject <IDSDaemonListenerProtocol, IDSBaseSocketPairConnectionDelegate> { id _delegateContext; NSString *_uniqueID; NSString *_accountID; NSSet *_destinations; IDSBaseSocketPairConnection *_unreliableSocketPairConnection; CUTWeakReference *_delegate; NSObject<OS_dispatch_queue> *_queue; long long _transportType; int _socket; BOOL _isAudioEnabled; BOOL _isMuted; BOOL _isLegacy; long long _inviteTimeout; unsigned long long _connectionCountHint; BOOL _needsToWaitForPreConnectionData; BOOL _disallowCellularInterface; BOOL _disallowWifiInterface; unsigned long long _preferredAddressFamily; BOOL _preferCellularForCallSetup; NSString *_clientUUID; BOOL _disableEncryption; BOOL _shouldUseSocketForTransport; BOOL _enableSingleChannelDirectMode; BOOL _alwaysSkipSelf; unsigned int _sessionEndedReason; NSMutableDictionary *_preferences; NSMutableDictionary *_sessionConfig; } @property (readonly, nonatomic) int socket; @property (readonly, nonatomic) NSString *uniqueID; @property (readonly, nonatomic) unsigned int state; @property (readonly, nonatomic) unsigned long long initialLinkType; @property (nonatomic) long long inviteTimeout; @property (readonly, nonatomic) unsigned int sessionEndedReason; @property (retain, nonatomic) id boostContext; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)setPreferences:(id)a0; - (void)dealloc; - (void)setMuted:(BOOL)a0; - (void)connection:(id)a0 didReceiveData:(id)a1; - (void)daemonDisconnected; - (void)endSession; - (id)daemonListener; - (void)xpcObject:(id)a0 objectContext:(id)a1; - (void)setDelegate:(id)a0 queue:(id)a1; - (void).cxx_destruct; - (id)daemonController; - (void)_callDelegateWithBlock:(id /* block */)a0; - (void)setAudioEnabled:(BOOL)a0; - (BOOL)sendData:(id)a0 error:(id *)a1; - (unsigned long long)MTUForAddressFamily:(unsigned long long)a0; - (BOOL)getAudioEnabled; - (void)sessionStarted:(id)a0; - (void)_broadcastNewSessionToDaemon; - (void)_cleanupSocketPairConnections; - (id)_initWithAccount:(id)a0 destinations:(id)a1 options:(id)a2 delegateContext:(id)a3; - (id)_initWithAccount:(id)a0 destinations:(id)a1 transportType:(long long)a2 connectionCountHint:(unsigned long long)a3 needsToWaitForPreConnectionData:(BOOL)a4 uniqueID:(id)a5 delegateContext:(id)a6; - (void)_setupSocketPairToDaemon; - (void)_setupUnreliableSocketPairConnection; - (void)acceptInvitation; - (void)acceptInvitationWithData:(id)a0; - (void)allocationDone:(id)a0 sessionInfo:(id)a1; - (void)cancelInvitation; - (void)cancelInvitationWithData:(id)a0; - (void)cancelInvitationWithRemoteEndedReasonOverride:(unsigned int)a0; - (void)declineInvitation; - (void)declineInvitationWithData:(id)a0; - (void)endSessionWithData:(id)a0; - (BOOL)getMuted; - (id)getPreferences; - (id)initWithAccount:(id)a0 destinations:(id)a1 options:(id)a2 delegateContext:(id)a3; - (id)initWithAccount:(id)a0 destinations:(id)a1 transportType:(long long)a2 delegateContext:(id)a3; - (id)initWithAccount:(id)a0 destinations:(id)a1 transportType:(long long)a2 uniqueID:(id)a3 delegateContext:(id)a4; - (void)reconnectSession; - (void)sendAllocationRequest:(id)a0; - (void)sendInvitationWithData:(id)a0 declineOnError:(BOOL)a1; - (void)sendInvitationWithOptions:(id)a0; - (void)sendSessionMessage:(id)a0; - (void)sendSessionMessage:(id)a0 toDestinations:(id)a1; - (void)session:(id)a0 audioEnabled:(BOOL)a1; - (void)session:(id)a0 didReceiveReport:(id)a1; - (void)session:(id)a0 invitationSentToTokens:(id)a1 shouldBreakBeforeMake:(BOOL)a2; - (void)session:(id)a0 muted:(BOOL)a1; - (void)sessionAcceptReceived:(id)a0 fromID:(id)a1 withData:(id)a2; - (void)sessionCancelReceived:(id)a0 fromID:(id)a1 withData:(id)a2; - (void)sessionDeclineReceived:(id)a0 fromID:(id)a1 withData:(id)a2; - (void)sessionEndReceived:(id)a0 fromID:(id)a1 withData:(id)a2; - (void)sessionEnded:(id)a0 withReason:(unsigned int)a1 error:(id)a2; - (void)sessionMessageReceived:(id)a0 fromID:(id)a1 withData:(id)a2; - (BOOL)shouldUseSocketForTransport; @end