The Future trait represent a value that is not yet available.

It is defined as the following

pub trait Future {
    type Output;
 
    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>;
}