@class NSData, NSString, NSArray, NSURL, MFPartialNetworkDataConsumer, NSMutableDictionary, ECSubject, NSObject, MFWeakReferenceHolder; @protocol OS_os_log; @interface MFMimePart : NSObject <EFLoggable> { NSString *_type; NSString *_subtype; NSMutableDictionary *_bodyParameters; NSString *_contentTransferEncoding; NSMutableDictionary *_otherIvars; struct _NSRange { unsigned long long location; unsigned long long length; } _range; MFWeakReferenceHolder *_parent; MFWeakReferenceHolder *_body; MFMimePart *_nextPart; NSURL *_partURL; NSURL *_parentPartURL; MFPartialNetworkDataConsumer *_partialDataConsumer; NSData *_fullData; MFWeakReferenceHolder *_decodedData; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _otherIvarsLock; } @property (class, readonly) NSObject<OS_os_log> *log; @property (copy, nonatomic) NSString *type; @property (copy, nonatomic) NSString *subtype; @property (copy, nonatomic) NSString *contentDescription; @property (copy, nonatomic) NSString *contentID; @property (copy, nonatomic) NSString *contentLocation; @property (copy, nonatomic) NSArray *languages; @property (copy, nonatomic) NSString *contentTransferEncoding; @property (copy, nonatomic) NSString *disposition; @property (readonly, nonatomic) ECSubject *wrappedSubject; @property (readonly, nonatomic) BOOL isDecodingComplete; @property (readonly, nonatomic) BOOL isSecurePart; @property (readonly, nonatomic) BOOL hasSecureSubparts; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)initialize; + (Class)attachmentClass; + (BOOL)isRecognizedClassForContent:(id)a0; + (BOOL)parseContentTypeHeader:(id)a0 type:(id *)a1 subtype:(id *)a2; + (BOOL)parseContentTypeHeader:(id)a0 type:(id *)a1 subtype:(id *)a2 info:(id *)a3; - (struct _NSRange { unsigned long long x0; unsigned long long x1; })range; - (id)init; - (void)dealloc; - (BOOL)isGenerated; - (id)attachments; - (void)setRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0; - (id)alternativeAtIndex:(long long)a0; - (BOOL)hasContents; - (id)signedData; - (id)bodyData; - (void)download; - (void)setIsGenerated:(BOOL)a0; - (id)fileWrapper; - (unsigned int)numberOfAttachments; - (long long)numberOfAlternatives; - (BOOL)isAttachment; - (void)setSubparts:(id)a0; - (id)subparts; - (id)partNumber; - (id)attachmentURLs; - (id)nextSiblingPart; - (id)partURL; - (void)setDispositionParameter:(id)a0 forKey:(id)a1; - (id)storeData:(id)a0 inMessage:(id)a1 isComplete:(BOOL)a2; - (id)_objectInOtherIvarsForKey:(id)a0; - (void)_setDecryptedMessageBody:(id)a0 isEncrypted:(BOOL)a1 isSigned:(BOOL)a2; - (void)_setObjectInOtherIvars:(id)a0 forKey:(id)a1; - (void)_setWrappedSubject:(id)a0; - (BOOL)_shouldContinueDecodingProcess; - (void)addSubpart:(id)a0; - (unsigned int)approximateRawSize; - (id)attachmentFilename; - (id)bodyParameterForKey:(id)a0; - (id)bodyParameterKeys; - (void)configureFileWrapper:(id)a0; - (id)contentToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2 asHTML:(BOOL)a3 isComplete:(BOOL *)a4; - (id)contentsForTextSystem; - (id)copyBodyDataToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2; - (id)copyBodyDataToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2 isComplete:(BOOL *)a3; - (void)decodeIfNecessary; - (id)decodeText; - (id)decodedDataForData:(id)a0; - (id)decryptedMessageBodyIsEncrypted:(BOOL *)a0 isSigned:(BOOL *)a1; - (id)dispositionParameterForKey:(id)a0; - (id)dispositionParameterKeys; - (id)fileWrapperForDecodedObject:(id)a0 withFileData:(id *)a1; - (id)fileWrapperForcingDownload:(BOOL)a0; - (id)firstChildPart; - (void)getNumberOfAttachments:(unsigned int *)a0 isSigned:(BOOL *)a1 isEncrypted:(BOOL *)a2; - (BOOL)isHTML; - (BOOL)isReadableText; - (id)mimeBody; - (id)parentPart; - (BOOL)parseIMAPPropertyList:(id)a0; - (BOOL)parseMimeBodyFromHeaderData:(id)a0 bodyData:(id)a1 isPartial:(BOOL)a2; - (id)rfc822DecodedMessageBody; - (void)setBodyParameter:(id)a0 forKey:(id)a1; - (void)setMimeBody:(id)a0; - (unsigned int)textEncoding; - (id)textHtmlPart; - (unsigned long long)totalTextSize; - (BOOL)usesKnownSignatureProtocol; - (id)contentToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 asHTML:(BOOL)a2; - (id)contentsForTextSystemToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2; - (id)decodeMultipart; - (void)_clearParent; - (void)_contents:(id *)a0 toOffset:(unsigned long long)a1 resultOffset:(unsigned long long *)a2 downloadIfNecessary:(BOOL)a3 asHTML:(BOOL)a4 isComplete:(BOOL *)a5; - (id)subpartAtIndex:(long long)a0; - (void)_clearNextAndSibling; - (void)_ensureBodyDataToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2 isComplete:(BOOL *)a3 decoded:(id *)a4; - (void)_fixupBodyParametersRFC2231Values; - (void)_fixupDispositionParametersRFC2231Values; - (id)_fullMimeTypeEvenInsideAppleDouble; - (BOOL)_hasCompleteBodyDataToOffset:(unsigned long long)a0; - (id)_partThatIsAttachment; - (SEL)_selectorForCString:(char *)a0; - (void)_setDecryptedMessageInDictionary:(id)a0; - (void)_setRFC822DecodedMessageBody:(id)a0; - (id)bodyDataForcingDownload:(BOOL)a0; - (id)bodyDataToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1; - (id)bodyDataToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2; - (id)childPartWithNumber:(id)a0; - (id)chosenAlternativePart; - (void)clearCachedDescryptedMessageBody; - (id)contentToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2 asHTML:(BOOL)a3; - (id)contentsForTextSystemForcingDownload:(BOOL)a0; - (id)contentsForTextSystemToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1; - (id)contentsForTextSystemToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2 asHTML:(BOOL)a3; - (id)contentsForTextSystemToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1 downloadIfNecessary:(BOOL)a2 asHTML:(BOOL)a3 isComplete:(BOOL *)a4; - (id)copyBodyDataToOffset:(unsigned long long)a0 resultOffset:(unsigned long long *)a1; - (id)decodeApplicationOctet_stream; - (id)decodeApplicationZip; - (id)decodeMultipartAlternative; - (id)decodeMultipartRelated; - (BOOL)hasContentType:(id)a0 subtype:(id)a1; - (BOOL)hasValidMultipartSignedContentType; - (BOOL)isRich; - (BOOL)parseMimeBody; - (BOOL)parseMimeBodyDownloadIfNecessary:(BOOL)a0; - (id)preservedHeaderValueForKey:(id)a0; - (BOOL)shouldConsiderInlineOverridingExchangeServer; - (id)startPart; @end