@class NSMapTable, NSTextLineFragment, NSTextContainer, NSTextSelectionNavigation, NSDictionary, _NSTextAttributeStorage, NSTextRange, NSLayoutManager, _NSTextLayoutFragmentStorage, NSString, NSOperationQueue, NSArray, NSTextViewportLayoutController, NSTextContentManager, NSTextParagraph; @protocol NSTextLayoutManagerDelegatePrivate, NSTextLayoutManagerDelegate, NSTextLocation; @interface NSTextLayoutManager : NSObject { NSTextContentManager *_textContentManager; NSArray *_textContainers; long long _applicationFrameworkContext; id _delegate; NSLayoutManager *_companion; NSTextSelectionNavigation *_textSelectionNavigation; _NSTextAttributeStorage *_temporaryAttributesTable; BOOL _usesFontLeading; BOOL _limitsLayoutForSuspiciousContents; BOOL _usesHyphenation; BOOL _allowsFontSubstitutionAffectingVerticalMetrics; _NSTextLayoutFragmentStorage *_textLayoutFragmentStorage; NSMapTable *_textLayoutFragmentTable; long long _maximumNumberOfCachedTextLayoutFragments; NSArray *_textSelections; NSTextParagraph *_textParagraphForEmptyDocument; struct { id x0; id x1; double x2; long long x3; long long x4; BOOL x5; BOOL x6; BOOL x7; } *_activeEnumerationCache; BOOL _isProcessingRenderingAttributesMethod; BOOL _delegateWithTextSelectionNotification; BOOL _delegateWithTextContainerQuery; BOOL _delegateWithSimpleTextContainerQuery; struct { NSTextContainer *textContainer; id startLocation; NSTextRange *textRange; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } usageBounds; unsigned long long entryIndex; BOOL containerFilled; BOOL anchoredLocation; } _lastTextContainerEntry; struct { id x0; id x1; id x2; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x3; unsigned long long x4; BOOL x5; BOOL x6; } *_textContainerEntries; struct { id x0; id x1; id x2; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x3; unsigned long long x4; BOOL x5; BOOL x6; } *_textContainerEntriesAccessHint; unsigned long long _textContainerEntriesSize; unsigned long long _textContainerEntriesCount; id _softInvalidationLocation; } @property (class, readonly) NSDictionary *linkRenderingAttributes; @property (class, readonly) NSDictionary *linkRenderingAttributesForLabels; @property (class, readonly) BOOL supportsSecureCoding; @property (copy) id /* block */ isSelectionOverridableColor; @property (readonly) BOOL lastContainerFilled; @property (readonly) long long maximumNumberOfLinesForLastContainer; @property (readonly) NSTextLineFragment *_extraTextLineFragment; @property BOOL requiresCTLineRef; @property BOOL breaksLinesForInteractiveText; @property BOOL rendersBackgroundColorAttribute; @property (weak) id delegate; @property BOOL usesFontLeading; @property BOOL limitsLayoutForSuspiciousContents; @property BOOL usesHyphenation; @property (readonly, weak) NSTextContentManager *textContentManager; @property (retain) NSTextContainer *textContainer; @property (readonly) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } usageBoundsForTextContainer; @property (readonly) BOOL hasNonSimpleRectangularTextContainer; @property (readonly, copy) NSArray *textContainers; @property (retain) NSTextContainer *templateTextContainer; @property (readonly) NSTextViewportLayoutController *textViewportLayoutController; @property (retain) NSOperationQueue *layoutQueue; @property (retain) NSArray *textSelections; @property (retain) NSTextSelectionNavigation *textSelectionNavigation; @property (copy) id /* block */ renderingAttributesValidator; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly) NSTextRange *documentRange; + (BOOL)automaticallyNotifiesObserversForKey:(id)a0; + (id)linkRenderingAttributes; + (BOOL)_validatesInternalCaches; + (long long)maximumNumberOfSeedElements; + (long long)maximumNumberOfCachedTextLayoutFragments; + (Class)viewportLayoutControllerClass; + (BOOL)shouldBeUsedForNSTextView; + (void)_setThrowsOnAssertionError:(BOOL)a0; + (id)validRenderingAttributes; + (BOOL)usesHyphenation; + (void)_setValidatesInternalCaches:(BOOL)a0; + (BOOL)_throwsOnAssertionError; + (id)linkRenderingAttributesForLabels; + (Class)companionLayoutManagerClass; - (void)invalidateRenderingAttributesForTextRange:(id)a0; - (void)invalidateLayoutForRange:(id)a0; - (BOOL)usesDefaultHyphenation; - (id)init; - (void)replaceCharactersInRange:(id)a0 withAttributedString:(id)a1; - (void)dealloc; - (id)delegate; - (void)enumerateRenderingAttributesFromLocation:(id)a0 reverse:(BOOL)a1 usingBlock:(id /* block */)a2; - (void)encodeWithCoder:(id)a0; - (void)setRenderingAttributes:(id)a0 forTextRange:(id)a1; - (void)setUsesFontLeading:(BOOL)a0; - (void)addRenderingAttribute:(id)a0 value:(id)a1 forTextRange:(id)a2; - (long long)maximumNumberOfCachedTextLayoutFragments; - (BOOL)usesFontLeading; - (void)replaceContentsInRange:(id)a0 withTextElements:(id)a1; - (id)textContainerForLocation:(id)a0; - (id)documentRange; - (void)setTextContentManager:(id)a0; - (void)enumerateViewportElementsFromLocation:(id)a0 options:(long long)a1 usingBlock:(id /* block */)a2; - (void)setUsesDefaultHyphenation:(BOOL)a0; - (void)removeRenderingAttribute:(id)a0 forTextRange:(id)a1; - (void)setApplicationFrameworkContext:(long long)a0; - (BOOL)limitsLayoutForSuspiciousContents; - (void)setLimitsLayoutForSuspiciousContents:(BOOL)a0; - (long long)applicationFrameworkContext; - (id)textSelectionNavigation; - (BOOL)usesHyphenation; - (void).cxx_destruct; - (void)ensureLayoutForRange:(id)a0; - (BOOL)allowsFontSubstitutionAffectingVerticalMetrics; - (void)setAllowsFontSubstitutionAffectingVerticalMetrics:(BOOL)a0; - (void)enumerateSubstringsFromLocation:(id)a0 options:(unsigned long long)a1 usingBlock:(id /* block */)a2; - (void)synchronize; - (id)locationFromLocation:(id)a0 withOffset:(long long)a1; - (void)setDelegate:(id)a0; - (BOOL)isCountableDataSource; - (long long)offsetFromLocation:(id)a0 toLocation:(id)a1; - (id)baseLocation; - (id)initWithCoder:(id)a0; - (void)_commonInit; - (id)textContentManager; - (long long)baseWritingDirectionAtLocation:(id)a0; - (void)addTemporaryAttribute:(id)a0 value:(id)a1 forTextRange:(id)a2; - (void)ensureLayoutForBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)enumerateTemporaryAttributesFromLocation:(id)a0 reverse:(BOOL)a1 usingBlock:(id /* block */)a2; - (id)enumerateTextLayoutFragmentsFromLocation:(id)a0 options:(unsigned long long)a1 usingBlock:(id /* block */)a2; - (void)enumerateTextSegmentsInRange:(id)a0 type:(long long)a1 options:(unsigned long long)a2 usingBlock:(id /* block */)a3; - (id)rangeForTextContainerAtIndex:(long long)a0; - (void)removeTemporaryAttribute:(id)a0 forTextRange:(id)a1; - (void)setTextSelections:(id)a0; - (void)setViewProvider:(id)a0 forTextAttachment:(id)a1 location:(id)a2; - (void)textContainerChangedGeometry:(id)a0; - (void)replaceTextContentManager:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })usageBoundsForLastTextContainer; - (void)_addTextContainer:(id)a0; - (void)_addTextContainerForLocation:(id)a0; - (BOOL)_appendTextContainer; - (void)_configureCoreTypesetter:(id)a0 forTextParagraph:(id)a1 textContainer:(id)a2; - (id)_copyTextLineFragmentRangeForPoint:(struct CGPoint { double x0; double x1; })a0 inContainerAtLocation:(id)a1 pointPlacement:(out unsigned long long *)a2; - (id)_currentTextLayoutFragmentEnumerated; - (id)_estimatedTextLocationForVerticalOffset:(double)a0 originLocation:(id)a1 originOffset:(double)a2; - (id)_estimatedTextLocationForVerticalOffset:(double)a0 originLocation:(id)a1 originOffset:(double)a2 deltaFromOffset:(out double *)a3; - (double)_estimatedVerticalSizeForTextRange:(id)a0 adjustedTextRange:(out id *)a1; - (long long)_fallbackWritingDirection; - (void)_fillLayoutToLocation:(id)a0 enumerationCache:(struct { id x0; id x1; double x2; long long x3; long long x4; BOOL x5; BOOL x6; BOOL x7; } *)a1; - (id)_fillSoftInvalidationToLocation:(id)a0 verticalOffset:(double)a1; - (void)_fixSelectionAfterChangeInCharacterRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 changeInLength:(long long)a1; - (BOOL)_hasLayoutForLocation:(id)a0; - (void)_invalidateLayoutForTextRange:(id)a0 hard:(BOOL)a1; - (void)_invalidateTextParagraphForEmptyDocument; - (long long)_numberOfLinesToCurrentlyEnumeratedTextLayoutFragment; - (void)_prepareAttributedString:(id)a0 forTextLayoutFragment:(id)a1; - (void)_removeTextContainer; - (void)_removeTextContainersToCondition:(id /* block */)a0; - (id)_selectionAndMarkedTextAttributesForLocation:(id)a0 inTextRange:(id)a1 effectiveTextRange:(out id *)a2; - (BOOL)_setSoftInvalidationLocation:(id)a0 onlyIfUpstream:(BOOL)a1; - (BOOL)_shouldDrawTextCorrectionMarkerWithType:(long long)a0 inRange:(id)a1; - (id)_textLayoutFragmentAtLocation:(id)a0; - (id)_textLineFragmentAtLocation:(id)a0 textLayoutFragment:(out id *)a1 rangeDelta:(out long long *)a2; - (id)_textParagraphForEmptyDocument; - (id)_textRangeForDoubleClickAtLocation:(id)a0; - (id)_textSelectionsFromTextView; - (id)_textViewRespondingToSelector:(SEL)a0; - (id)_textViewportLayoutControllerForTextContainer:(id)a0; - (BOOL)_validateTextContainerEntries; - (id)_viewProviderForTextAttachment:(id)a0 parentView:(id)a1 location:(id)a2 textContainer:(id)a3; - (id)adjustedTextSelectionsForEditingContextFromTextSelections:(id)a0; - (BOOL)allowsAddingTextContainer; - (id)companionLayoutManager; - (void)enumerateCaretOffsetsInLineFragmentAtLocation:(id)a0 usingBlock:(id /* block */)a1; - (void)enumerateContainerBoundariesFromLocation:(id)a0 reverse:(BOOL)a1 usingBlock:(id /* block */)a2; - (id)enumerateTextLayoutFragmentsInTextRange:(id)a0 options:(unsigned long long)a1 usingBlock:(id /* block */)a2; - (void)finalizeAndPushLastTextContainer; - (BOOL)flushTextLayoutFragmentsFromLocation:(id)a0 direction:(BOOL)a1; - (void)invalidateTemporaryAttributesForTextRange:(id)a0; - (id)lineFragmentRangeForPoint:(struct CGPoint { double x0; double x1; })a0 inContainerAtLocation:(id)a1; - (unsigned long long)placementOfPoint:(struct CGPoint { double x0; double x1; })a0 inContainerAtLocation:(id)a1; - (void)processLayoutInvalidationForTextRange:(id)a0 synchronizing:(BOOL)a1; - (id)renderingAttributesForLink:(id)a0 atLocation:(id)a1; - (id)renderingColorForDocumentColor:(id)a0 atLocation:(id)a1; - (void)replaceCharactersInRange:(id)a0 withElements:(id)a1; - (void)replaceContentsInRange:(id)a0 withAttributedString:(id)a1; - (void)setMaximumNumberOfCachedTextLayoutFragments:(long long)a0; - (void)setTemporaryAttributes:(id)a0 forTextRange:(id)a1; - (void)setTextSelectionNavigation:(id)a0; - (void)setUsesHyphenation:(BOOL)a0; - (id)temporaryAttributesTable; - (id)textLayoutFragmentForLocation:(id)a0; - (id)textLayoutFragmentForPosition:(struct CGPoint { double x0; double x1; })a0; - (id)textLayoutFragmentForPosition:(struct CGPoint { double x0; double x1; })a0 inTextContainerAtIndex:(long long)a1; - (id)textLayoutFragmentForPosition:(struct CGPoint { double x0; double x1; })a0 inTextContainerAtIndex:(long long)a1 avoidsAdditionalLayout:(BOOL)a2; - (long long)textLayoutOrientationAtLocation:(id)a0; - (id)textRangeForSelectionGranularity:(long long)a0 enclosingLocation:(id)a1; - (id)textSelections; - (void)updateLayoutWithTextLayoutFragment:(id)a0 addition:(BOOL)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })usageBoundsInTextContainerAtIndex:(long long)a0; - (BOOL)usesContiguousLayout; - (id)viewProviderForTextAttachment:(id)a0 location:(id)a1; - (id)viewportLayoutController; @end