getRemote abstract method
Fetch remote items for sync with optional pagination
batchSize controls how many items to fetch per page (required).
Returns a batch and a nextCursor if more pages are available
Implementation
Future<SyncBatchResult> getRemote({String? cursor, required int batchSize});