listEvents returns one provider page and preserves pagination and incremental
sync tokens. Use it when you need explicit paging or maintain your own calendar
synchronization cursor.
Example
Inputs
Output
Returns{ events: CalendarEvent[]; nextPageToken?: string; nextSyncToken?: string; timeZone?: string; updatedAt?: string }. See Get event for each event. Follow nextPageToken until absent; only then persist nextSyncToken. Google restricts which filters can be combined with a syncToken, and an expired token causes the provider request to fail so you can perform a full resync.