@class NSData, NSString, CKRecordID, ICAssetGenerationManager, NSSet, NSManagedObjectID, CKRecord, ICAttachment, ICAccount; @protocol ICMediaCryptoStrategy; @interface ICMedia : ICCloudSyncingObject <ICCloudObject> @property (class, readonly, nonatomic) BOOL supportsUserSpecificRecords; @property (readonly, copy, nonatomic) CKRecordID *recordID; @property (readonly, copy, nonatomic) NSString *recordType; @property (readonly, nonatomic) BOOL needsToSaveUserSpecificRecord; @property (readonly, nonatomic) BOOL wantsUserSpecificRecord; @property (readonly, copy, nonatomic) CKRecordID *userSpecificRecordID; @property (readonly, retain, nonatomic) CKRecord *userSpecificServerRecord; @property (readonly, nonatomic) BOOL needsToBeDeletedFromCloud; @property (readonly, nonatomic) BOOL needsToBePushedToCloud; @property (readonly, nonatomic) BOOL needsToBeFetchedFromCloud; @property (readonly, nonatomic) BOOL isInICloudAccount; @property (readonly, nonatomic) BOOL isValidObject; @property (readonly, copy, nonatomic) NSString *loggingDescription; @property (readonly, nonatomic) NSManagedObjectID *objectID; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (weak, nonatomic) ICAccount *placeholderAccount; @property (readonly, nonatomic) NSSet *urlsToConsiderForCloudBackup; @property (readonly, nonatomic) ICAccount *containerAccount; @property (readonly, nonatomic) id<ICMediaCryptoStrategy> cryptoStrategy; @property (retain, nonatomic) ICAccount *account; @property (retain, nonatomic) ICAttachment *attachment; @property (retain, nonatomic) NSString *filename; @property (retain, nonatomic) NSData *assetCryptoInitializationVector; @property (retain, nonatomic) NSData *assetCryptoTag; @property (copy, nonatomic) NSString *generation; @property (readonly, nonatomic) ICAssetGenerationManager *generationManager; @property (readonly, nonatomic) NSString *cacheKey; + (id)newCloudObjectForRecord:(id)a0 accountID:(id)a1 context:(id)a2; + (id)newMediaWithIdentifier:(id)a0 account:(id)a1; + (id)allMediaInContext:(id)a0; + (id)containerDirectoryURLForMediaWithIdentifier:(id)a0 account:(id)a1; + (void)deleteMedia:(id)a0; + (void)enumerateMediaInContext:(id)a0 batchSize:(unsigned long long)a1 saveAfterBatch:(BOOL)a2 usingBlock:(id /* block */)a3; + (id)existingCloudObjectForRecordID:(id)a0 accountID:(id)a1 context:(id)a2; + (id)exportableContainerDirectoryURLForMediaWithIdentifier:(id)a0 account:(id)a1; + (id)keyPathsForValuesAffectingIsSharedViaICloud; + (id)keyPathsForValuesAffectingParentCloudObject; + (id)mediaIdentifiersForAccount:(id)a0; + (id)mediaWithIdentifier:(id)a0 context:(id)a1; + (id)newMediaWithAttachment:(id)a0; + (id)newMediaWithAttachment:(id)a0 forData:(id)a1 filename:(id)a2 error:(id *)a3; + (id)newMediaWithAttachment:(id)a0 forFileWrapper:(id)a1 error:(id *)a2; + (id)newMediaWithAttachment:(id)a0 forURL:(id)a1 error:(id *)a2; + (id)newMediaWithIdentifier:(id)a0 attachment:(id)a1; + (void)purgeMedia:(id)a0; + (void)purgeMediaFilesForIdentifiers:(id)a0 account:(id)a1; + (void)undeleteMedia:(id)a0; - (void)prepareForDeletion; - (id)filename; - (BOOL)writeData:(id)a0 error:(id *)a1; - (void)awakeFromFetch; - (id)recordZoneName; - (BOOL)supportsDeletionByTTL; - (id)data; - (BOOL)isValid; - (void).cxx_destruct; - (void)setFilename:(id)a0; - (id)mediaURL; - (void)setAttachment:(id)a0; - (BOOL)hasFile; - (id)decryptedData; - (void)markForDeletion; - (id)cloudAccount; - (void)deleteFromLocalDatabase; - (id)parentCloudObject; - (void)unmarkForDeletion; - (id)dataWithoutImageMarkupMetadata:(BOOL)a0; - (id)mediaArchiveURL; - (id)exportableContainerDirectoryURL; - (BOOL)writeDataFromFileWrapper:(id)a0 error:(id *)a1; - (void)accountWillChangeToAccount:(id)a0; - (void)applyRandomCryptoGooIfNeeded; - (id)containerDirectoryURL; - (id)cryptoStrategyProtocol; - (void)deleteExportableMedia; - (id)encryptedMediaFallbackURL; - (id)encryptedMediaURL; - (id)exportableMediaURL; - (void)fixBrokenReferences; - (BOOL)hasAllMandatoryFields; - (id)ic_loggingValues; - (BOOL)isArchivedDirectory; - (id)makeCloudKitRecordForApproach:(long long)a0 mergeableFieldState:(id)a1; - (id)mediaArchiveFallbackURL; - (id)mediaFallbackURL; - (id)mediaTarArchiveURL; - (BOOL)mergeCloudKitRecord:(id)a0 accountID:(id)a1 approach:(long long)a2 mergeableFieldState:(id)a3; - (void)objectWasPushedToCloudWithOperation:(id)a0 serverRecord:(id)a1; - (id)objectsToBeDeletedBeforeThisObject; - (id)parentCloudObjectForMinimumSupportedVersionPropagation; - (id)parentEncryptableObject; - (id)prepareExportableMediaURL; - (BOOL)shouldSyncMinimumSupportedNotesVersion; - (BOOL)supportsEncryptedValuesDictionary; - (void)updateFlagToExcludeFromCloudBackup; - (BOOL)writeDataFromAsset:(id)a0 accountID:(id)a1 isArchivedDirectory:(BOOL)a2 error:(id *)a3; - (BOOL)writeDataFromFileURL:(id)a0 error:(id *)a1; - (void)writeDataFromItemProvider:(id)a0 checkForMarkupData:(BOOL)a1 completionBlock:(id /* block */)a2; - (BOOL)writeDataWithBlock:(id /* block */)a0 error:(id *)a1; @end