I haven’t tried these, but have you looked using getChangesCount, or getCompletedChangesCount?
This would be to find out the count. Your initial question asked about getting the remaining document IDs, but it sounds like you just want the count. Is that right?
there should be a method to know how any documents are pending to be downloaded and uploaded
For upload there is pendingDocumentIDs. If that’s not working for you, please give more details about the situation.
For download, there isn’t an efficient way to find that number. It would require first downloading the entire changes feed from the server and comparing each doc/rev ID against the local database. This happens during the course of replication, but in parallel with downloading the actual documents. And we throttle the rate at which we consume the changes feed, to limit memory usage; otherwise the replicator can end up consuming a lot of memory with bookkeeping.