// Path: app/src/main/java/se/oort/diplicity/apigen/MultiContainer.java
// public class MultiContainer<T> implements java.io.Serializable {
//   public MultiContainer() {
//   }
// 	public java.util.List<SingleContainer<T>> Properties;
//   public java.util.List<Link> Links;
//   public String name;
//   public java.util.List<java.util.List<String>> Desc;
// }
// 
// Path: app/src/main/java/se/oort/diplicity/apigen/SingleContainer.java
// public class SingleContainer<T> implements java.io.Serializable {
//   public SingleContainer() {
//   }
//   public T Properties;
//   public java.util.List<Link> Links;
//   public String name;
//   public java.util.List<java.util.List<String>> Desc;
// }


import java.io.Serializable;
import java.util.List;
import retrofit2.http.GET;
import retrofit2.http.Path;
import rx.Observable;
import se.oort.diplicity.apigen.MultiContainer;
import se.oort.diplicity.apigen.SingleContainer;
package se.oort.diplicity;



public interface VariantService {
    class Variant implements Serializable {
        /** The name of the variant. */
        public String Name;
        /** The list of nations for this variant. */
        public List<String> Nations;
        /** Who the version was created by (or the empty string if no creator information is known). */
        public String CreatedBy;
        /** Version of the variant (or the empty string if no version information is known). */
        public String Version;
        /** A short description summarising the variant. */
        public String Description;
        /** The rules of the variant (in particular where they differ from classical). */
        public String Rules;
    }
    class Phase implements Serializable {
    }
    @GET("/Variants")
    Observable<MultiContainer<Variant>> GetVariants();

    @GET("/Variant/{name}/Start")
// Path: app/src/main/java/se/oort/diplicity/apigen/MultiContainer.java
// public class MultiContainer<T> implements java.io.Serializable {
//   public MultiContainer() {
//   }
// 	public java.util.List<SingleContainer<T>> Properties;
//   public java.util.List<Link> Links;
//   public String name;
//   public java.util.List<java.util.List<String>> Desc;
// }
// 
// Path: app/src/main/java/se/oort/diplicity/apigen/SingleContainer.java
// public class SingleContainer<T> implements java.io.Serializable {
//   public SingleContainer() {
//   }
//   public T Properties;
//   public java.util.List<Link> Links;
//   public String name;
//   public java.util.List<java.util.List<String>> Desc;
// }


// Path: app/src/main/java/se/oort/diplicity/VariantService.java
import java.io.Serializable;
import java.util.List;
import retrofit2.http.GET;
import retrofit2.http.Path;
import rx.Observable;
import se.oort.diplicity.apigen.MultiContainer;
import se.oort.diplicity.apigen.SingleContainer;

package se.oort.diplicity;



public interface VariantService {
    class Variant implements Serializable {
        /** The name of the variant. */
        public String Name;
        /** The list of nations for this variant. */
        public List<String> Nations;
        /** Who the version was created by (or the empty string if no creator information is known). */
        public String CreatedBy;
        /** Version of the variant (or the empty string if no version information is known). */
        public String Version;
        /** A short description summarising the variant. */
        public String Description;
        /** The rules of the variant (in particular where they differ from classical). */
        public String Rules;
    }
    class Phase implements Serializable {
    }
    @GET("/Variants")
    Observable<MultiContainer<Variant>> GetVariants();

    @GET("/Variant/{name}/Start")
    Observable<SingleContainer<Phase>> GetStartPhase(@Path("name") String name);