Plugin Dev: panel event data - examples, docs?

I’ve searched quite a bit but have not been able to find a clear reference for the structure of data passed along with panel events, such as data-received. There is a lot that can be inferred by looking at example code that handles this data, but a reference with example data would be very helpful.

I can see that the data can be essentially either a TimeSeries or a TableModel - so those “core” class definitions are useful but not very illustrative in terms of describing how a particular query translates into a populated object that gets passed with the data-received event.

I guess as a new plugin developer I’m looking for some better fundamental understanding of the plumbing here.

There is not much sadly in terms of detailed docs I think, best thing is too look at core panel plugins