@class NSDictionary, NSString, NSMutableDictionary, NSUUID, DiagnosticCaseManager, DiagnosticCaseStorage, NSMutableArray; @interface DiagnosticCase : NSObject { BOOL eventsDirty; BOOL payloadsDirty; BOOL attachmentsDirty; BOOL _allowIPSFileOutput; unsigned long long completedDiagnosticActions; unsigned long long expectedDiagnosticActions; NSMutableDictionary *_requiredActions; } @property (retain, nonatomic) DiagnosticCaseManager *manager; @property (retain, nonatomic) NSMutableDictionary *attachmentsWithSize; @property (retain, nonatomic) NSString *caseSummaryFilepath; @property (readonly, nonatomic) NSUUID *caseId; @property (readonly, nonatomic) DiagnosticCaseStorage *caseStorage; @property (readonly, nonatomic) NSMutableDictionary *signature; @property (readonly, nonatomic) double caseOpenedTime; @property (readonly, nonatomic) double caseClosedTime; @property (readonly, nonatomic) NSMutableArray *events; @property (readonly, nonatomic) NSMutableArray *payloads; @property (readonly, nonatomic) NSMutableArray *attachments; @property (readonly, nonatomic) NSDictionary *actions; @property (readonly, nonatomic) unsigned long long attachmentsFileSize; @property (readonly, nonatomic) NSMutableArray *caseReports; @property (readonly, nonatomic) NSMutableArray *caseOutlets; @property (readonly, nonatomic) short caseState; @property (readonly, nonatomic) short closureType; @property (readonly, nonatomic) short dampeningType; @property (readonly, nonatomic, getter=isSnapshot) BOOL snapshot; @property (readonly, nonatomic, getter=wantsRemote) BOOL wantsRemote; @property (readonly, nonatomic, getter=isRemoteTrigger) BOOL remoteTrigger; @property (nonatomic) unsigned long long caseFlags; @property (nonatomic) double preferredDuration; @property (readonly, nonatomic) BOOL writeIPSFile; @property (nonatomic) BOOL readyToEndSession; @property (readonly, nonatomic) NSMutableDictionary *requiredAttachments; @property (readonly, nonatomic) NSString *caseDomain; @property (readonly, nonatomic) NSString *caseType; @property (readonly, nonatomic) NSString *caseSubType; @property (readonly, nonatomic) NSString *caseSubTypeContext; @property (readonly, nonatomic) NSString *caseDetectedProcess; @property (readonly, nonatomic) NSString *caseEffectiveProcess; @property (readonly, nonatomic) NSString *caseGroupId; + (id)_caseDampeningTypeString:(short)a0; + (id)attachmentsFromStringRepresentation:(id)a0; + (id)_arrayObjectRepresentationOfJSONString:(id)a0; + (id)generateCaseSummaryFromCaseStorageDictionary:(id)a0; + (id)stringRepresentationOfAttachments:(id)a0; + (id)generateCaseSummaryDictionaryFromCaseStorage:(id)a0; + (id)_stringRepresentationOfJSONObject:(id)a0 prettyPrint:(BOOL)a1; + (id)_closureTypeString:(short)a0; + (id)descriptionForClosureType:(short)a0; + (id)signatureForCaseStorageDictionary:(id)a0; + (id)descriptionForDampeningType:(short)a0; + (id)signatureForCaseStorage:(id)a0; - (id)caseSubTypeContext; - (id)eventsFromStringRepresentation; - (void)dealloc; - (id)caseDetectedProcess; - (void)setClosureType:(short)a0; - (void)addEvents:(id)a0; - (void)markAttachmentsAsPurgeable:(BOOL)a0 urgency:(unsigned long long)a1; - (id)caseEffectiveProcess; - (void)setDampeningType:(short)a0; - (void)serializeEventsToDiagnosticCaseStorage; - (void)addGroupIdentifierToSignature; - (void)encodeWithCoder:(id)a0; - (short)caseState; - (BOOL)matchSignature:(id)a0; - (void)validateAttachments; - (void)serializeAttachmentsToDiagnosticCaseStorage; - (BOOL)_parseSignatureIntoCaseStorage:(id)a0; - (void)noteCaseOpenedTime; - (id)_generateCaseSummaryDictionary; - (void)summarizeCaseReport; - (void)startCollectingDiagnosticExtensions:(id)a0; - (BOOL)sendReports; - (void)deserializeDiagnosticCaseStorageEvents; - (void)startCollectingAllReports; - (void)finishedCollectingLogs; - (id)caseDampeningTypeString; - (void)finishCase; - (id)deParametersFromPayloads; - (id)stringRepresentationOfAttachmentsWithSize; - (short)closureType; - (double)caseOpenedTime; - (void)noteCaseOpenedTime:(double)a0; - (void)prepareCase; - (void)recordDiagnosticCaseSummary; - (void)reportGeneratorEnded:(id)a0 reportInfo:(id)a1 error:(id)a2 isFinalReportGenerator:(BOOL)a3; - (void)addEvents:(id)a0 forced:(BOOL)a1; - (id)initWithCaseStorage:(id)a0 manager:(id)a1; - (id)_updatedPayloadPathForOriginalPath:(id)a0 sandboxExtensionToken:(id)a1; - (id)description; - (void)addRequiredAttachmentType:(id)a0 pattern:(id)a1; - (void)_addToAttachments:(id)a0; - (id)payloadsFromStringRepresentation; - (void)collectLogs; - (void)prepareAttachmentsForReporting; - (BOOL)writeIPSFile; - (void)addRequiredAction:(id)a0 option:(id)a1 attachmentType:(id)a2 pattern:(id)a3; - (void).cxx_destruct; - (void)_updatePayloadDictionaryArray:(BOOL)a0; - (void)addPayload:(id)a0; - (void)deserializeDiagnosticCaseStorageAttachments; - (void)addEvent:(id)a0; - (id)stringRepresentationOfSignature; - (void)noteCaseClosedTime; - (short)caseStateFromString:(id)a0; - (id)caseProcess; - (id)initWithSignature:(id)a0 flags:(unsigned long long)a1 events:(id)a2 payload:(id)a3 actions:(id)a4 manager:(id)a5; - (void)deserializeDiagnosticCaseStoragePayloads; - (id)caseSubType; - (void)serializePayloadsToDiagnosticCaseStorage; - (id)dictionaryRepresentation; - (double)caseClosedTime; - (void)fixupCaseSummaryFile:(id)a0; - (id)initWithCaseId:(id)a0 manager:(id)a1; - (BOOL)_parseCaseStorageIntoSignature:(id)a0; - (void)prepareForSaving; - (void)removeRequiredAttachmentType:(id)a0 pattern:(id)a1; - (id)stringRepresentationOfEvents; - (id)caseStateString:(short)a0; - (id)stringRepresentationOfPayloads; - (void)allowIPSFileOutput:(BOOL)a0; - (id)_caseSummaryFileName; - (void)addEvent:(id)a0 forced:(BOOL)a1; - (void)setCaseState:(short)a0; - (void)noteCaseClosedTime:(double)a0; - (id)addSizeInfoForAttachment:(id)a0; - (id)initWithCoder:(id)a0; - (id)caseDomain; - (id)caseType; - (id)caseClosureTypeString; @end