@class NSDate, NSString, NSArray, NSData, NSURL, NSDictionary, NSMutableArray, NSNumber; @protocol IDSBaseMessageSigningSession; @interface IDSBaseMessage : NSObject <NSCopying> { NSDictionary *_responseAlert; NSString *_dataUsageBundleIdentifier; } @property (retain) NSDate *creationDate; @property (setter=_setUsingOutgoingPush:) BOOL _usingOutgoingPush; @property (retain, setter=_setCachedBody:) NSDictionary *_cachedBody; @property (readonly) BOOL wantsIDSServer; @property (readonly) BOOL isValidMessage; @property (readonly) BOOL payloadCanBeLogged; @property unsigned long long uniqueID; @property (readonly) NSString *uniqueIDString; @property (readonly) NSString *dataUsageBundleIdentifier; @property double timeout; @property double timeSent; @property (copy) id /* block */ completionBlock; @property (copy) id /* block */ deliveryAcknowledgementBlock; @property (readonly) NSString *bagKey; @property (retain) NSString *topic; @property (readonly) long long command; @property (readonly) long long responseCommand; @property BOOL hasReceivedPushAck; @property BOOL hasAttemptedAPSDelivery; @property (retain) NSNumber *pushAckTimestamp; @property long long importanceLevel; @property long long deliveryMechanism; @property (copy) NSString *service; @property (copy) NSString *subService; @property (copy) NSString *underlyingService; @property BOOL forceCellular; @property BOOL highPriority; @property (readonly) BOOL wantsSignature; @property (readonly) BOOL wantsBodySignature; @property (readonly) BOOL wantsCFNetworkTimeout; @property (readonly) BOOL wantsManagedRetries; @property (readonly) BOOL wantsStatusCodeBasedRetries; @property (readonly) BOOL wantsExtraTimeoutRetry; @property (readonly) int maxTimeoutRetries; @property (readonly) BOOL wantsHTTPHeaders; @property (readonly) BOOL wantsCompressedBody; @property BOOL wantsBinaryPush; @property BOOL wantsIntegerUniqueIDs; @property (readonly) BOOL wantsJSONBody; @property (readonly) BOOL wantsBagKey; @property (readonly) BOOL wantsUserAgentInHeaders; @property (readonly) BOOL wantsHTTPGet; @property (readonly) BOOL wantsAPSRetries; @property (readonly) double anisetteHeadersTimeout; @property (readonly) BOOL allowsServerProvidedLenientAnisetteTimeout; @property BOOL wantsResponse; @property BOOL wantsMultipleResponses; @property (readonly) BOOL isWebTunnelMessage; @property (readonly) BOOL wantsIDSSignatures; @property BOOL httpDoNotDecodeData; @property (readonly) BOOL requiresPushTokenKeys; @property int timeoutRetries; @property (readonly) BOOL ignoresNetworkConnectivity; @property (readonly) BOOL wantsCustomRetryInterval; @property (readonly) double customRetryInterval; @property (readonly) NSArray *requiredKeys; @property (copy) NSDictionary *responseAlertInfo; @property (readonly) NSDictionary *messageBody; @property (readonly) NSDictionary *messageBodyUsingCache; @property (readonly) NSDictionary *additionalMessageHeaders; @property (readonly) NSDictionary *additionalQueryStringParameters; @property (readonly) NSDictionary *additionalInternalHeaders; @property (readonly) NSDictionary *additionalMessageHeadersForOutgoingPush; @property (readonly) NSDictionary *nonStandardMessageHeadersForOutgoingPush; @property BOOL ignoreMaxRetryCount; @property (nonatomic) struct __SecKey { } *pushPrivateKey; @property (nonatomic) struct __SecKey { } *pushPublicKey; @property (copy, nonatomic) NSData *pushCertificate; @property (copy, nonatomic) NSData *pushToken; @property (nonatomic) BOOL isMultipleAuthCertCapable; @property (copy, nonatomic) NSMutableArray *certDataArray; @property (copy, nonatomic) NSMutableArray *publicKeyArray; @property (copy, nonatomic) NSMutableArray *privateKeyArray; @property (copy, nonatomic) NSMutableArray *userIDArray; @property (copy, nonatomic) NSNumber *serverTimestamp; @property (copy, nonatomic) NSNumber *serverTimestampReceivedDate; @property (readonly, nonatomic) struct __SecKey { } *identityPrivateKey; @property (readonly, nonatomic) struct __SecKey { } *identityPublicKey; @property (readonly, copy, nonatomic) NSData *IDCertificate; @property (readonly, nonatomic) BOOL wantsBodySigningOnly; @property (retain, nonatomic) id<IDSBaseMessageSigningSession> signingSession; @property (readonly, nonatomic) BOOL ignorePushSigHeaders; @property (copy, nonatomic, setter=setDSAuthID:) NSString *dsAuthID; @property (copy) NSData *serviceData; @property (copy) NSDictionary *clientInfo; @property (readonly) NSString *userAgentHeaderString; @property (copy, nonatomic) NSNumber *retryCount; @property (readonly) NSString *retryCountKey; @property (copy) NSURL *URLOverride; @property (copy, nonatomic) NSNumber *originalTimestamp; @property (readonly) BOOL allowDualDelivery; @property (copy) NSDictionary *userInfo; @property (retain) id context; @property (nonatomic) unsigned long long sentByteCount; @property (nonatomic) unsigned long long receivedByteCount; @property (retain, nonatomic) NSDate *requestStart; @property (retain, nonatomic) NSDate *requestEnd; @property (retain, nonatomic) NSDate *responseReceived; - (id)init; - (void).cxx_destruct; - (BOOL)isIDSMessage; - (void)handleResponseHeaders:(id)a0; - (void)handleResponseDictionary:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (BOOL)wantsClientInfo; - (void)_cacheBody; - (void)_clearCache; - (void)handleResponseBody:(id)a0; - (void)handleResponseStatus:(unsigned long long)a0; - (BOOL)hasRequiredKeys:(id *)a0; - (BOOL)isMMLMessage; - (void)logFailureInfo; - (id)messageBodyDataOverride; - (id)overrideContentType; - (id)parsedIDSMessageResult; - (BOOL)wantsGZip; - (BOOL)wantsUDID; @end