@class IMChat, NSString, IMMessage, NSArray, NSURL, DDScannerResult, IMPluginPayload, NSData, NSMutableSet, LPLinkMetadata, NSAttributedString; @protocol IMBalloonPluginDataSourceDelegate; @interface IMBalloonPluginDataSource : NSObject @property (retain, nonatomic) NSURL *url; @property (retain, nonatomic) DDScannerResult *dataDetectedResult; @property (retain, nonatomic) NSArray *attachmentGUIDs; @property (retain, nonatomic) IMPluginPayload *pluginPayload; @property (retain, nonatomic) NSArray *pendingAttachmentData; @property (retain, nonatomic) NSMutableSet *temporaryAttachmentURLs; @property (retain, nonatomic) NSString *_imMessageGUID; @property (nonatomic, setter=setShowingLatestMessageAsBreadcrumb:) BOOL isShowingLatestMessageAsBreadcrumb; @property (nonatomic) BOOL allowedByScreenTime; @property (retain, nonatomic) NSString *messageGUID; @property (retain, nonatomic) NSString *sessionGUID; @property (readonly, retain, nonatomic) NSString *bundleID; @property (nonatomic) BOOL hasInvalidatedSize; @property (nonatomic) BOOL payloadInShelf; @property (readonly, nonatomic) IMMessage *imMessage; @property (retain, nonatomic) IMChat *chat; @property (retain, nonatomic) NSArray *consumedPayloads; @property (nonatomic) BOOL initialMessageIsFromMe; @property (nonatomic) BOOL parentChatHasAllUnknownRecipients; @property (readonly, nonatomic) LPLinkMetadata *richLinkMetadata; @property (readonly, retain, nonatomic) NSData *messagePayloadDataForSending; @property (nonatomic, setter=setLast:) BOOL isLast; @property (weak, nonatomic) id pluginDataSourceDelegate; @property (readonly, nonatomic, getter=isShowingLatestMessageAsBreadcrumb) BOOL showingLatestMessageAsBreadcrumb; @property (readonly, retain, nonatomic) NSString *guidOfLastMessageInSession; @property (readonly, nonatomic) long long messageIDOfLastMessageInSession; @property (readonly, nonatomic) BOOL supportsDynamicSize; @property (retain, nonatomic) NSData *payload; @property (readonly, nonatomic) BOOL wantsStatusItem; @property (readonly, retain, nonatomic) NSString *statusString; @property (readonly, retain, nonatomic) NSAttributedString *statusAttributedString; @property (readonly, nonatomic) BOOL wantsReplyFromContentView; @property (readonly, nonatomic) NSURL *URLToOpenOnTapAction; @property (copy, nonatomic) id /* block */ willOpenHandler; @property (readonly, nonatomic) NSArray *allPayloads; @property (readonly, nonatomic) BOOL isFromMe; @property (readonly, nonatomic) BOOL isPlayed; + (BOOL)supportsURL:(id)a0; + (id)URLForDugongShareURL:(id)a0 handle:(id)a1 metadata:(id)a2; + (id)URLForDugongShareURL:(id)a0 handle:(id)a1 payload:(id)a2; + (BOOL)isPayloadServiceManatee:(id)a0; + (id)lastAddressedHandleIDFromChat:(id)a0; + (id)previewSummaryForPluginBundle:(id)a0; + (id)previewSummaryForPluginPayload:(id)a0 withBundleID:(id)a1 previewAttachmentURL:(id *)a2 previewAttachmentUTI:(id *)a3; + (BOOL)supportsIndividualPreviewSummaries; + (id)individualPreviewSummaryForPluginPayload:(id)a0; + (id)previewSummary; + (id)replaceHandleWithContactNameInString:(id)a0 forAccount:(id)a1 additionalHandles:(id)a2; + (id)unlocalizedPreviewSummaryForPluginBundle:(id)a0 pluginDisplayName:(id)a1; - (void)stopPlayback; - (unsigned long long)playbackType; - (id)description; - (void).cxx_destruct; - (struct CGSize { double x0; double x1; })sizeThatFits:(struct CGSize { double x0; double x1; })a0; - (void)updatePayloadForShelfAnimation:(id)a0; - (id)_summaryText; - (void)beginShowingLastConsumedBreadcrumbForOutgoingPayload:(id)a0; - (void)datasourceWasMovedToNewGuid:(id)a0; - (void)didTapStatusItem; - (void)endShowingLastConsumedBreadcrumb; - (id)initWithPluginPayload:(id)a0; - (void)markAsPlayed; - (void)payloadWillEnterShelf; - (void)payloadWillSendFromShelf; - (void)playbackWithCompletionBlock:(id /* block */)a0; - (id)_replaceHandleWithContactNameInString:(id)a0; - (id)individualPreviewSummary; - (id)_overrideURLForOpeningURL:(id)a0; - (void)_reloadLatestUnconsumedBreadcrumb; - (void)_removeTemporaryAttachmentURLs; - (BOOL)_senderIsSameBetweenPayload:(id)a0 andOtherPayload:(id)a1; - (void)_updatePayload:(id)a0 messageID:(long long)a1 messageGUID:(id)a2; - (void)_updateTemporaryAttachmentURLsForPluginPayload; - (unsigned long long)_updateWithPluginPayload:(id)a0 messageID:(long long)a1 messageGUID:(id)a2; - (void)checkForAllowedByScreenTime; - (void)chooseOptions; - (id)individualPreviewAttachmentFileAndUTI:(id *)a0; - (id)initWithMessageGUID:(id)a0 payload:(id)a1 dataDetectedResult:(id)a2 url:(id)a3; - (void)needsResize; - (id)overrideURLForOpeningURL:(id)a0; - (void)payloadDidChange; - (void)pluginPayloadDidChange:(unsigned long long)a0; - (void)pluginPayloadShouldSendCollaboration; - (void)pluginPayloadShouldSendCopy; - (void)sendPayload:(id)a0; - (void)sendPayload:(id)a0 attachments:(id)a1; - (void)setPayload:(id)a0 attachments:(id)a1; - (void)statusStringNeedsUpdate; - (void)thumbnailURLWithSize:(struct CGSize { double x0; double x1; })a0 completion:(id /* block */)a1; - (void)updatePayload:(id)a0; - (void)updatePayload:(id)a0 attachments:(id)a1; @end