package tc.oc.api.sessions; import com.google.common.util.concurrent.ListenableFuture; import tc.oc.api.docs.Session; import tc.oc.api.docs.UserId; import tc.oc.api.docs.virtual.ServerDoc; import tc.oc.api.docs.virtual.SessionDoc; import tc.oc.api.message.types.FindMultiResponse; import tc.oc.api.model.ModelService; public interface SessionService extends ModelService<Session, SessionDoc.Partial> { ListenableFuture<Session> start(SessionStartRequest request); ListenableFuture<?> finish(Session session); ListenableFuture<Session> online(UserId player); ListenableFuture<FindMultiResponse<Session>> friends(UserId player); ListenableFuture<FindMultiResponse<Session>> staff(ServerDoc.Network network, boolean disguised); }