pub trait UtilProxyInterface: Send + Sync {
type GetArgumentsResponseFut: Future<Output = Result<Vec<String>, Error>> + Send;
type GetArgumentCountResponseFut: Future<Output = Result<u64, Error>> + Send;
type GetEnvironmentResponseFut: Future<Output = Result<Vec<EnvVar>, Error>> + Send;
type GetEnvironmentCountResponseFut: Future<Output = Result<u64, Error>> + Send;
type DumpNamespaceResponseFut: Future<Output = Result<String, Error>> + Send;
type ReadFileResponseFut: Future<Output = Result<String, Error>> + Send;
type GetLifecycleKoidResponseFut: Future<Output = Result<u64, Error>> + Send;
// Required methods
fn get_arguments(&self) -> Self::GetArgumentsResponseFut;
fn get_argument_count(&self) -> Self::GetArgumentCountResponseFut;
fn get_environment(&self) -> Self::GetEnvironmentResponseFut;
fn get_environment_count(&self) -> Self::GetEnvironmentCountResponseFut;
fn dump_namespace(&self) -> Self::DumpNamespaceResponseFut;
fn read_file(&self, path: &str) -> Self::ReadFileResponseFut;
fn get_lifecycle_koid(&self) -> Self::GetLifecycleKoidResponseFut;
}