Internal interface for a stateful event host used by the Goo UI system. Declares ApplyEvents to apply a BlobEvents struct, properties for pointer-event handling and whether any handlers exist, and a nullable setter for a RequestRebuild Action that the applier can set to trigger panel rebuilds after handlers run.
using System;
namespace Goo.Internal;
internal interface IStatefulEventHost
{
void ApplyEvents(in BlobEvents events);
bool UserSetPointerEvents { get; set; }
bool HasEventHandlers { get; }
/// <summary>Set by the Applier: invoked after any user handler runs so the panel
/// auto-rebuilds. Null when the owning GooPanel opts out (AutoRebuildOnEvents == false).</summary>
Action? RequestRebuild { set; }
}