@class NSString, NSXPCListenerEndpoint, NSXPCInterface, OS_xpc_remote_connection, _NSXPCConnectionClassCache, _NSXPCConnectionExportedObjectTable, NSObject, _NSXPCConnectionRequestedReplies, _NSXPCConnectionExpectedReplies, _NSXPCConnectionImportInfo; @protocol OS_xpc_object, _NSXPCTransport, OS_dispatch_queue, NSObject; @interface NSXPCConnection : NSObject <NSXPCProxyCreating> { union { NSObject<OS_xpc_object> *xpc; OS_xpc_remote_connection *remote; } _connection; _NSXPCConnectionExpectedReplies *_repliesExpected; NSObject<OS_dispatch_queue> *_userQueue; unsigned int _state; _Atomic unsigned int _state2; id /* block */ _interruptionHandler; id /* block */ _invalidationHandler; _NSXPCConnectionExportedObjectTable *_exportInfo; _NSXPCConnectionRequestedReplies *_repliesRequested; _NSXPCConnectionImportInfo *_importInfo; id<NSObject> _otherInfo; _Atomic id _delegate; NSString *_serviceName; NSXPCListenerEndpoint *_endpoint; _NSXPCConnectionClassCache *_eCache; _NSXPCConnectionClassCache *_dCache; NSObject<OS_xpc_object> *_bootstrap; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; id<_NSXPCTransport> _transport; } @property (readonly, copy) NSString *serviceName; @property (readonly, retain) NSXPCListenerEndpoint *endpoint; @property (retain) NSXPCInterface *exportedInterface; @property (retain) id exportedObject; @property (retain) NSXPCInterface *remoteObjectInterface; @property (readonly, retain) id remoteObjectProxy; @property (copy) id /* block */ interruptionHandler; @property (copy) id /* block */ invalidationHandler; @property (readonly) int auditSessionIdentifier; @property (readonly) int processIdentifier; @property (readonly) unsigned int effectiveUserIdentifier; @property (readonly) unsigned int effectiveGroupIdentifier; + (void)beginTransaction; + (void)endTransaction; + (id)currentConnection; + (void)_handoffCurrentReplyToQueue:(id)a0 block:(id /* block */)a1; - (void)addBarrierBlock:(id /* block */)a0; - (id)initWithListenerEndpoint:(id)a0; - (id)initWithMachServiceName:(id)a0 options:(unsigned long long)a1; - (id)init; - (void)_setQueue:(id)a0; - (id)_queue; - (void)dealloc; - (id)_unboostingRemoteObjectProxy; - (id)userInfo; - (id)delegate; - (void)setOptions:(unsigned long long)a0; - (void)suspend; - (id)_xpcConnection; - (void)start; - (id)synchronousRemoteObjectProxyWithErrorHandler:(id /* block */)a0; - (void)invalidate; - (void)activate; - (void)stop; - (id)initWithServiceName:(id)a0; - (struct { unsigned int x0[8]; })auditToken; - (id)initWithEndpoint:(id)a0; - (id)valueForEntitlement:(id)a0; - (id)description; - (void)resume; - (void)setUserInfo:(id)a0; - (id)remoteObjectProxyWithErrorHandler:(id /* block */)a0; - (id)remoteObjectProxyWithUserInfo:(id)a0 errorHandler:(id /* block */)a1; - (void)setDelegate:(id)a0; - (id)initWithMachServiceName:(id)a0; - (id)remoteObjectProxyWithTimeout:(double)a0 errorHandler:(id /* block */)a1; - (void)_pauseProgress:(unsigned long long)a0; - (id)_initWithRemoteConnection:(id)a0 name:(id)a1; - (id /* block */)_additionalInvalidationHandler; - (void)_cancelProgress:(unsigned long long)a0; - (void)_decodeAndInvokeMessageWithEvent:(id)a0 reply:(id)a1 flags:(unsigned long long)a2; - (void)_decodeAndInvokeReplyBlockWithEvent:(id)a0 sequence:(unsigned long long)a1 replyInfo:(id)a2; - (void)_decodeProgressMessageWithData:(id)a0 flags:(unsigned long long)a1; - (id)_errorDescription; - (id)_initWithCustomTransport:(id)a0; - (id)_initWithRemoteService:(id)a0 name:(id)a1 options:(unsigned long long)a2; - (id)_initWithRemoteService:(id)a0 name:(id)a1 options:(unsigned long long)a2 mode:(unsigned long long)a3; - (void)_killConnection:(int)a0; - (Class)_remoteObjectInterfaceClass; - (void)_resumeProgress:(unsigned long long)a0; - (void)_sendDesistForProxy:(id)a0; - (void)_sendInvocation:(id)a0 orArguments:(id *)a1 count:(unsigned long long)a2 methodSignature:(id)a3 selector:(SEL)a4 withProxy:(id)a5; - (void)_sendSelector:(SEL)a0 withProxy:(id)a1; - (void)_sendSelector:(SEL)a0 withProxy:(id)a1 arg1:(id)a2; - (void)_sendSelector:(SEL)a0 withProxy:(id)a1 arg1:(id)a2 arg2:(id)a3; - (void)_sendSelector:(SEL)a0 withProxy:(id)a1 arg1:(id)a2 arg2:(id)a3 arg3:(id)a4; - (void)_sendSelector:(SEL)a0 withProxy:(id)a1 arg1:(id)a2 arg2:(id)a3 arg3:(id)a4 arg4:(id)a5; - (void)_setBootstrapObject:(id)a0 forKey:(id)a1; - (void)_setLanguages:(id)a0; - (void)_setTargetUserIdentifier:(unsigned int)a0; - (void)_setUUID:(id)a0; - (id)initWithServiceName:(id)a0 options:(unsigned long long)a1; - (id)replacementObjectForEncoder:(id)a0 object:(id)a1; - (void)scheduleSendBarrierBlock:(id /* block */)a0; - (void)set_additionalInvalidationHandler:(id /* block */)a0; @end