@class NSEnumerator, NSMutableDictionary, NSString, NSMutableSet, NSMutableArray, TSKSearch; @protocol TSKSearchable, TSKFindReplaceDelegate, TSKDocumentRootProvider, TSKSearchTargetProvider; @interface TSKFindReplaceController : NSObject { BOOL _onlySearchesAnnotations; NSEnumerator *_currentModelEnumerator; id _currentSearchable; TSKSearch *_currentSearch; double _currentSearchStartTime; } @property (nonatomic) struct _NSRange { unsigned long long location; unsigned long long length; } currentRootSearchTargetRange; @property (retain, nonatomic) NSMutableArray *layoutSearchResults; @property (retain, nonatomic) NSMutableDictionary *layoutSearchCountForRootIndexMap; @property (copy, nonatomic) id /* block */ progressBlock; @property (retain, nonatomic) NSMutableSet *annotationDisplayStringTypes; @property (readonly, nonatomic) id findReplaceDelegate; @property (readonly, nonatomic) id searchTargetProvider; @property (nonatomic) id documentRootProvider; @property (readonly, nonatomic) unsigned long long searchResultsCount; @property (copy, nonatomic) NSString *searchString; @property (nonatomic) unsigned long long searchOptions; @property (nonatomic) BOOL commentsIncludedInAnnotationSearch; @property (nonatomic) BOOL countSearchHits; @property (copy, nonatomic) id /* block */ searchResultComparator; + (void)_assertSearchTargetImplementsProperMethods:(id)a0; + (void)_recursiveSearchWithSearchTarget:(id)a0 forAnnotationsWithHitBlock:(id /* block */)a1; + (void)_recursiveSearchWithSearchTarget:(id)a0 forString:(id)a1 options:(unsigned long long)a2 hitBlock:(id /* block */)a3; + (BOOL)p_searchReference:(id)a0 comparedWithSearchReference:(id)a1 orEqual:(BOOL)a2 inDirection:(unsigned long long)a3 before:(BOOL)a4 comparator:(id /* block */)a5; + (BOOL)searchReference:(id)a0 isAfterSearchReference:(id)a1 orEqual:(BOOL)a2 inDirection:(unsigned long long)a3 comparator:(id /* block */)a4; + (BOOL)searchReference:(id)a0 isBeforeSearchReference:(id)a1 orEqual:(BOOL)a2 inDirection:(unsigned long long)a3 comparator:(id /* block */)a4; - (void)dealloc; - (void)invalidateSearchResults; - (id)documentRoot; - (void)p_buildSearchResultsIfNecessary; - (void)_buildLayoutSearchResultsForRootSearchTargetsInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 resultsArray:(id)a1; - (id)_firstResultInDirection:(unsigned long long)a0; - (id)_lastResultInDirection:(unsigned long long)a0; - (unsigned long long)_nextRootSearchTargetFromIndex:(unsigned long long)a0 inDirection:(unsigned long long)a1 wrapped:(BOOL *)a2; - (void)_nextSearchTargetWithMatchInDirection:(unsigned long long)a0; - (unsigned long long)_resultCountInRootObjectRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0; - (id)annotationSearchReferenceForAnnotation:(id)a0; - (id)firstVisibleResultInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (unsigned long long)indexOfVisibleSearchReference:(id)a0; - (id)initWithDocumentRootProvider:(id)a0 delegate:(id)a1; - (id)initWithDocumentRootProvider:(id)a0 delegate:(id)a1 onlySearchesAnnotations:(BOOL)a2; - (id)initWithDocumentRootProvider:(id)a0 delegate:(id)a1 targetProvider:(id)a2 onlySearchesAnnotations:(BOOL)a3; - (void)p_buildVisibleSearchResultsIfNecessary; - (void)p_continueCountingHits; - (BOOL)p_searchCriteriaIsValid; - (BOOL)p_shouldCountAnnotation:(id)a0; - (void)p_startCountingHits; - (void)p_stopCountingHits; - (id)searchReferenceAfterReference:(id)a0 inDirection:(unsigned long long)a1; - (id)searchReferencesToHighlightInVisibleRootObjectRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0; - (void)setSearchProgressBlock:(id /* block */)a0; - (void)sortLayoutSearchResultsArray:(id)a0; @end