@class NSString, TSDStrokePattern, TSUColor; @interface TSDStroke : NSObject <TSSPropertyCommandSerializing, TSDPathPainter, TSDMixing, NSCopying, NSMutableCopying> @property (class, readonly, nonatomic) TSUColor *colorOnSuppressedBackgrounds; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (copy, nonatomic) TSUColor *i_color; @property (nonatomic) double i_width; @property (nonatomic) double i_actualWidth; @property (nonatomic, setter=i_setCap:) int i_cap; @property (nonatomic) int i_join; @property (nonatomic) double i_miterLimit; @property (copy, nonatomic, setter=i_setPattern:) TSDStrokePattern *i_pattern; @property (readonly, copy, nonatomic) TSUColor *color; @property (readonly, nonatomic) double width; @property (readonly, nonatomic) double renderedWidth; @property (readonly, nonatomic) double actualWidth; @property (readonly, nonatomic) int cap; @property (readonly, nonatomic) int join; @property (readonly, nonatomic) double miterLimit; @property (readonly, copy, nonatomic) TSDStrokePattern *pattern; @property (readonly, nonatomic) BOOL isNullStroke; @property (readonly, nonatomic) BOOL isDash; @property (readonly, nonatomic) BOOL isRoundDash; @property (readonly, nonatomic) BOOL shouldRender; @property (readonly, nonatomic) BOOL supportsPattern; @property (readonly, nonatomic) BOOL supportsWidth; @property (readonly, nonatomic) BOOL supportsColor; @property (readonly, nonatomic) BOOL supportsLineOptions; @property (readonly, nonatomic) double suggestedMinimumLineWidth; @property (readonly, nonatomic) BOOL isFrame; @property (readonly, nonatomic) BOOL isNearlyWhite; @property (readonly, nonatomic) double dashSpacing; @property (readonly, nonatomic) BOOL drawsOutsideStrokeBounds; @property (readonly, nonatomic) BOOL needsToExtendJoinsForBoundsCalculation; @property (readonly, nonatomic) struct _TSDStrokeOutsets { double x0; double x1; double x2; double x3; } outsets; @property (readonly, nonatomic) BOOL drawsInOneStep; @property (readonly, nonatomic) BOOL shouldAntialiasDefeat; @property (readonly, nonatomic) BOOL usesOpenGL; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)stroke; + (BOOL)canMixWithNilObjects; + (id)editedStrokeFromModelStroke:(id)a0 selectedStroke:(id)a1; + (id)emptyStroke; + (id)i_newEmptyStroke; + (id)i_newStroke; + (long long)indexOfStroke:(id)a0 strokeArray:(id)a1; + (Class)mutableClass; + (id)strokeWithColor:(id)a0 width:(double)a1; + (id)strokeWithColor:(id)a0 width:(double)a1 cap:(int)a2 join:(int)a3 pattern:(id)a4; + (id)instanceWithArchive:(const void *)a0 unarchiver:(id)a1; - (id)init; - (void).cxx_destruct; - (BOOL)isEqual:(id)a0; - (id)mutableCopyWithZone:(struct _NSZone { } *)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (void)applyToContext:(struct CGContext { } *)a0; - (void)paintPath:(struct CGPath { } *)a0 inContext:(struct CGContext { } *)a1; - (void)paintRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 inContext:(struct CGContext { } *)a1; - (void)applyInteriorWrapPropertiesToContext:(struct CGContext { } *)a0 insideStroke:(BOOL)a1; - (void)applyToContext:(struct CGContext { } *)a0 insideStroke:(BOOL)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundsForLineEnd:(id)a0 atPoint:(struct CGPoint { double x0; double x1; })a1 atAngle:(double)a2 withScale:(double)a3 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a4; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundsForPath:(id)a0; - (BOOL)canDrawWithOtherStroke:(id)a0; - (id)colorForCGContext:(struct CGContext { } *)a0; - (void)drawSwatchInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 inContext:(struct CGContext { } *)a1; - (double)horizontalMarginForSwatch; - (void)i_setPatternPropertiesFromStroke:(id)a0; - (void)i_setPropertiesFromStroke:(id)a0; - (id)initWithArchive:(const void *)a0 unarchiver:(id)a1; - (id)initWithColor:(id)a0 width:(double)a1 cap:(int)a2 join:(int)a3 pattern:(id)a4; - (id)initWithColor:(id)a0 width:(double)a1 cap:(int)a2 join:(int)a3 pattern:(id)a4 miterLimit:(double)a5; - (double)lineEndInsetAdjustment; - (id)mixedObjectWithFraction:(double)a0 ofObject:(id)a1; - (void)p_strokePathChunk:(struct CGPath { } *)a0 inContext:(struct CGContext { } *)a1 wantsInteriorStroke:(BOOL)a2; - (void)paintLineEnd:(id)a0 atPoint:(struct CGPoint { double x0; double x1; })a1 atAngle:(double)a2 withScale:(double)a3 inContext:(struct CGContext { } *)a4; - (void)paintLineEnd:(id)a0 atPoint:(struct CGPoint { double x0; double x1; })a1 atAngle:(double)a2 withScale:(double)a3 inContext:(struct CGContext { } *)a4 useFastDrawing:(BOOL)a5; - (void)paintPath:(struct CGPath { } *)a0 wantsInteriorStroke:(BOOL)a1 inContext:(struct CGContext { } *)a2; - (void)paintPath:(struct CGPath { } *)a0 wantsInteriorStroke:(BOOL)a1 inContext:(struct CGContext { } *)a2 useFastDrawing:(BOOL)a3 parameterized:(BOOL)a4 shouldReverseDrawOrder:(BOOL)a5; - (void)paintRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 wantsInteriorStroke:(BOOL)a1 inContext:(struct CGContext { } *)a2; - (id)pathForLineEnd:(id)a0 wrapPath:(BOOL)a1 atPoint:(struct CGPoint { double x0; double x1; })a2 atAngle:(double)a3 withScale:(double)a4; - (struct CGPath { } *)pathToStrokeFromCGPath:(struct CGPath { } *)a0; - (id)strokeByTransformingByTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a0; - (id)strokeLineEnd:(id)a0; - (long long)mixingTypeWithObject:(id)a0 context:(id)a1; - (void)saveToArchive:(void *)a0 archiver:(id)a1; - (id)initFromPropertyCommandMessage:(const struct Message { void /* function */ **x0; struct InternalMetadata { void *x0; } x1; } *)a0 unarchiver:(id)a1; - (void)saveToPropertyCommandMessage:(struct Message { void /* function */ **x0; struct InternalMetadata { void *x0; } x1; } *)a0 archiver:(id)a1; - (BOOL)requiresOutlineOnBackgroundWithAppearance:(unsigned long long)a0; - (BOOL)p_isRoundSolidLine; - (id)pathToStrokeFromTSUBezierPath:(id)a0; @end