pub trait BatchIteratorProxyInterface: Send + Sync {
    type GetNextResponseFut: Future<Output = Result<BatchIteratorGetNextResult, Error>> + Send;
    type WaitForReadyResponseFut: Future<Output = Result<(), Error>> + Send;
    // Required methods
    fn get_next(&self) -> Self::GetNextResponseFut;
    fn wait_for_ready(&self) -> Self::WaitForReadyResponseFut;
}