@class NSArray, PKExtendedPhysicsBody, NSMutableDictionary; @protocol UICollisionBehaviorDelegate; @interface UICollisionBehavior : UIDynamicBehavior { BOOL _usesImplicitBounds; struct UIEdgeInsets { double top; double left; double bottom; double right; } _implicitBoundsInsets; PKExtendedPhysicsBody *_implicitBoundsBody; NSMutableDictionary *_boundaryBodies; NSMutableDictionary *_boundaryPaths; unsigned long long _collisionMode; id _collisionDelegate; unsigned int _groupVID; unsigned int _groupBID; struct { unsigned char delegateBeganWithItem : 1; unsigned char delegateEndedWithItem : 1; unsigned char delegateBeganWithBoundary : 1; unsigned char delegateEndedWithBoundary : 1; } _collisionBehaviorFlags; } @property (readonly, copy, nonatomic) NSArray *items; @property (nonatomic) unsigned long long collisionMode; @property (nonatomic) BOOL translatesReferenceBoundsIntoBoundary; @property (readonly, copy, nonatomic) NSArray *boundaryIdentifiers; @property (weak, nonatomic) id collisionDelegate; + (BOOL)_isPrimitiveBehavior; - (id)init; - (id)initWithItems:(id)a0; - (void)removeItem:(id)a0; - (void)addItem:(id)a0; - (id)description; - (void)_applySettings; - (void).cxx_destruct; - (void)_didEndContact:(id)a0; - (void)_addCollisionItem:(id)a0; - (void)_associate; - (void)_didBeginContact:(id)a0; - (void)_dissociate; - (void)_reevaluate:(unsigned long long)a0; - (void)_registerBodyForIdentifier:(id)a0 path:(id)a1; - (void)_registerBoundaryForIdentifier:(id)a0 path:(id)a1; - (void)_removeExplicitBoundaryBodies; - (void)_removeExplicitBoundaryPaths; - (void)_removeImplicitBoundaries; - (void)_setCollisions:(BOOL)a0 forBody:(id)a1 isEdge:(BOOL)a2; - (void)_setTranslatesReferenceItemBounds:(BOOL)a0 intoBoundaryWithInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (void)_setupExplicitBoundaries; - (void)_setupImplicitBoundaries; - (void)addBoundaryWithIdentifier:(id)a0 forPath:(id)a1; - (void)addBoundaryWithIdentifier:(id)a0 fromPoint:(struct CGPoint { double x0; double x1; })a1 toPoint:(struct CGPoint { double x0; double x1; })a2; - (id)boundaryWithIdentifier:(id)a0; - (void)removeAllBoundaries; - (void)removeBoundaryWithIdentifier:(id)a0; - (void)setTranslatesReferenceBoundsIntoBoundaryWithInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0; @end