#![doc = "Transport-independent service interface for local and remote calls."]
use async_trait::async_trait;
use spiral_contract::auth::AuthHeader;
use spiral_contract::call::CallError;
use crate::api::workers::objects::*;
#[async_trait]
pub trait WorkersApi: Send + Sync + 'static {
async fn disable_managed_workers(
&self,
auth_header: AuthHeader,
project_id: String,
provider_id: String,
) -> Result<ManagedWorkerProviderResponse, CallError<WorkersError>>;
async fn enable_managed_workers(
&self,
auth_header: AuthHeader,
project_id: String,
provider_id: String,
) -> Result<ManagedWorkerProviderResponse, CallError<WorkersError>>;
async fn read_managed_workers(
&self,
auth_header: AuthHeader,
project_id: String,
) -> Result<ManagedWorkersResponse, CallError<WorkersError>>;
}