pub trait ControllerProxyInterface: Send + Sync {
type UpdateAnnotationsResponseFut: Future<Output = Result<AnnotationControllerUpdateAnnotationsResult, Error>> + Send;
type GetAnnotationsResponseFut: Future<Output = Result<AnnotationControllerGetAnnotationsResult, Error>> + Send;
type WatchAnnotationsResponseFut: Future<Output = Result<AnnotationControllerWatchAnnotationsResult, Error>> + Send;
// Required methods
fn update_annotations(
&self,
annotations_to_set: Vec<Annotation>,
annotations_to_delete: &[AnnotationKey],
) -> Self::UpdateAnnotationsResponseFut;
fn get_annotations(&self) -> Self::GetAnnotationsResponseFut;
fn watch_annotations(&self) -> Self::WatchAnnotationsResponseFut;
}