package io.airlift.airship.coordinator;
import com.google.common.util.concurrent.ListenableFuture;
import io.airlift.airship.shared.AgentStatus;
import io.airlift.airship.shared.Installation;
import io.airlift.airship.shared.SlotStatus;
import io.airlift.discovery.client.ServiceDescriptor;
import java.net.URI;
import java.util.List;
public interface RemoteAgent
{
AgentStatus status();
void setInternalUri(URI uri);
SlotStatus install(Installation installation);
List<? extends RemoteSlot> getSlots();
ListenableFuture<?> updateStatus();
void setServiceInventory(List<ServiceDescriptor> serviceInventory);
}