pub trait LogPuppetProxyInterface: Send + Sync {
type PrintlnResponseFut: Future<Output = Result<(), Error>> + Send;
type EprintlnResponseFut: Future<Output = Result<(), Error>> + Send;
type LogResponseFut: Future<Output = Result<(), Error>> + Send;
type WaitForInterestChangeResponseFut: Future<Output = Result<LogPuppetWaitForInterestChangeResponse, Error>> + Send;
// Required methods
fn println(&self, message: &str) -> Self::PrintlnResponseFut;
fn eprintln(&self, message: &str) -> Self::EprintlnResponseFut;
fn log(&self, payload: &LogPuppetLogRequest) -> Self::LogResponseFut;
fn wait_for_interest_change(&self) -> Self::WaitForInterestChangeResponseFut;
}