@class TSCECalculationEngine, NSString, __end_cap_, TSCENameTrie, NSMutableSet, NSCharacterSet, __end_; @interface TSTHeaderNameMgr : TSPObject { TSCECalculationEngine *_calcEngine; TSCECalculationEngine *_weakCalcEngine; struct _opaque_pthread_rwlock_t { long long __sig; char __opaque[192]; } _headerNameMgrReadWriteLock; struct TSKUIDStruct { unsigned long long _lower; unsigned long long _upper; } _ownerUID; struct TSUCellCoord { unsigned int row; unsigned short column; BOOL _preserveRow; BOOL _preserveColumn; } _nextPrecedentCoord; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _nextPrecedentCoordLock; struct TSUCellCoord { unsigned int row; unsigned short column; BOOL _preserveRow; BOOL _preserveColumn; } _allHeaderPerTablesPrecedent; struct TSUCellCoord { unsigned int row; unsigned short column; BOOL _preserveRow; BOOL _preserveColumn; } _needsTileSplittingPrecedent; struct vector> { __end_ **__begin_; __end_cap_ **x0; struct __compressed_pair> { id *__value_; } x1; } _nameFragmentTiles; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _fragPrecedentToEntry; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _fragPrecedentsUsedByCellRef; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _perTableInfo; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _headerPerTablePrecedentToTableUID; TSCENameTrie *_namePrefixIndex; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _reservedFragmentPrecedentsLock; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _reservedFragmentPrecedents; NSMutableSet *_tilesToConsiderSplitting; BOOL _isClosing; struct TSKUIDStruct { unsigned long long _lower; unsigned long long _upper; } _nrm_ownerUID; NSCharacterSet *_whitespaceToBreakAt; struct vector> { struct TSCECellRef *__begin_; struct TSCECellRef *__end_; struct __compressed_pair> { struct TSCECellRef *__value_; } __end_cap_; } _removeFormulasDuringWritePhase; } @property (readonly, nonatomic) TSCECalculationEngine *calcEngine; @property (readonly, nonatomic) BOOL isClosing; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)willClose; - (void)dealloc; - (id)initWithContext:(id)a0; - (id).cxx_construct; - (void).cxx_destruct; - (void)setup; - (long long)evaluationMode; - (unsigned long long)numberOfTiles; - (void)saveToArchiver:(id)a0; - (void)loadFromUnarchiver:(id)a0; - (struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; })formulaOwnerUID; - (struct TSCERecalculationState { unsigned char x0; })evaluateFormulaAt:(struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; })a0 withCalcEngine:(id)a1 recalcOptions:(struct TSCERecalculationState { unsigned char x0; })a2; - (void)invalidateForCalcEngine:(id)a0; - (id)linkedResolver; - (unsigned short)ownerKind; - (struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; })ownerUID; - (void)writeResultsForCalcEngine:(id)a0; - (void)addChangedTile:(id)a0; - (void)handleFullTile:(id)a0; - (BOOL)p_updateWithWordFragments:(const void *)a0 atCellCoord:(const struct TSKUIDStructCoord { struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a1 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a2 toDirtyCellRefs:(void *)a3; - (struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; })NRM_formulaOwnerUID; - (id)namePrefixIndex; - (struct TSCECellRefSet { struct map, std::allocator>> { struct __tree, std::__map_value_compare, std::less>, std::allocator>> { void *x0; struct __compressed_pair *>, std::allocator, void *>>> { struct __tree_end_node *> { void *x0; } x0; } x1; struct __compressed_pair, std::less>> { unsigned long long x0; } x2; } x0; } x0; })allHeaderCellRefsLimitedToTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (id)anyRefForRangeForHeaderCell:(const struct TSCECellRef { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0 usePreserveFlags:(BOOL)a1; - (struct TSCERangeRef { struct TSCERangeCoordinate { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; })baseHeaderColumnsForCell:(const struct TSCECellRef { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0; - (struct TSCERangeRef { struct TSCERangeCoordinate { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; })baseHeaderRowsForCell:(const struct TSCECellRef { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0; - (void)beginTrackingNamesInTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (void)clearTextAtCellCoord:(const struct TSKUIDStructCoord { struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a1; - (void)createFragmentEntryForString:(id)a0 createIfMissingUsingPrecedentCoord:(const struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } *)a1; - (void)endTrackingNamesInTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (id)findTileForString:(id)a0 findClosest:(BOOL)a1; - (id)findTileForString:(id)a0 findClosest:(BOOL)a1 foundAtOffset:(unsigned long long *)a2; - (void *)fragmentEntryForNameFragmentPrecedent:(const struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } *)a0; - (void *)fragmentEntryForString:(id)a0; - (struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; })getNextPrecedentCoord:(BOOL)a0; - (struct TSCECellRefSet { struct map, std::allocator>> { struct __tree, std::__map_value_compare, std::less>, std::allocator>> { void *x0; struct __compressed_pair *>, std::allocator, void *>>> { struct __tree_end_node *> { void *x0; } x0; } x1; struct __compressed_pair, std::less>> { unsigned long long x0; } x2; } x0; } x0; })headerCellsMatching:(id)a0 limitToTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a1 includePrefixes:(BOOL)a2; - (id)initWithContext:(id)a0 calcEngine:(id)a1; - (void)integrateReservedPrecedents; - (struct TSCECellRefSet { struct map, std::allocator>> { struct __tree, std::__map_value_compare, std::less>, std::allocator>> { void *x0; struct __compressed_pair *>, std::allocator, void *>>> { struct __tree_end_node *> { void *x0; } x0; } x1; struct __compressed_pair, std::less>> { unsigned long long x0; } x2; } x0; } x0; })nameFragmentPrecedentsForReferenceString:(id)a0; - (void)p_processWorkForTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (void)p_updateText:(id)a0 atCellCoord:(const struct TSKUIDStructCoord { struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a1 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a2 toDirtyCellRefs:(void *)a3; - (void)p_willApplyCell:(id)a0 baseCellCoord:(struct TSUModelCellCoord { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; })a1 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a2 toDirtyCellRefs:(void *)a3; - (struct TSTHeaderPerTable { struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x0; struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x1; id x2; id x3; id x4; id x5; BOOL x6; } *)perTableEntryForTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0 createIfMissing:(BOOL)a1; - (BOOL)referenceNameIsUnique:(id)a0 forReference:(const void *)a1 contextTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a2; - (int)registerWithCalcEngine:(id)a0; - (struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; })reservePrecedent:(const struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } *)a0 forNameFragment:(id)a1; - (struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; })reservedPrecedentForNameFragment:(id)a0; - (void)setCalcEngine:(id)a0; - (void)setEntry:(void *)a0 forPrecedentCoord:(const struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } *)a1; - (void)setNRM_formulaOwnerUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (struct TSCERangeRef { struct TSCERangeCoordinate { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; })spanningRangeForHeaderCell:(const struct TSCECellRef { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0; - (id)stringInHeaderCell:(const struct TSCECellRef { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0; - (id)subsetForReferenceName:(id)a0 limitToTable:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a1 includePrefixes:(BOOL)a2; - (id)tileForEntry:(void *)a0; - (void)unpackEntryAfterUnarchive:(void *)a0; - (void)unregisterFromCalcEngine; - (void)updateTableUIDFrom:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0 toTableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a1; - (void)updateText:(id)a0 atCellCoord:(const struct TSKUIDStructCoord { struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a1 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a2; - (void)updateTrackedHeaders:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (BOOL)updateTrackedHeaders:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0 checkForEmptyHeaders:(BOOL)a1; - (void)updateTrackedHeadersForDocumentLocaleChange:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (BOOL)updateWithIndexingChunks:(id)a0; - (void)usedPrecedentCoord:(const struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } *)a0; - (void)waitForQueueToDrain; - (void)willApplyBaseCellMap:(id)a0 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a1; - (void)willApplyCell:(id)a0 baseCellCoord:(struct TSUModelCellCoord { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; })a1 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a2; - (void)willApplyConcurrentCellMap:(id)a0 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a1; - (void)willRemoveRows:(const void *)a0 tableUID:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a1; - (struct vector> { id *x0; id *x1; struct __compressed_pair> { id *x0; } x2; })wordFragmentsFromString:(id)a0 savePreserveFlags:(BOOL)a1; @end