// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.

package model

type Gender interface {
	IsGender()
}

type Female struct {
	Description string `json:"description"`
}

func (Female) IsGender() {}

type Hello struct {
	Name      string `json:"name"`
	Secondary string `json:"secondary"`
}

func (Hello) IsEntity() {}

type HelloMultiSingleKeys struct {
	Key1 string `json:"key1"`
	Key2 string `json:"key2"`
}

func (HelloMultiSingleKeys) IsEntity() {}

type HelloWithErrors struct {
	Name string `json:"name"`
}

func (HelloWithErrors) IsEntity() {}

type Male struct {
	Description string `json:"description"`
}

func (Male) IsGender() {}

type MultiHello struct {
	Name string `json:"name"`
}

func (MultiHello) IsEntity() {}

type MultiHelloByNamesInput struct {
	Name string `json:"Name"`
}

type MultiHelloMultipleRequires struct {
	Name string `json:"name"`
	Key1 string `json:"key1"`
	Key2 string `json:"key2"`
	Key3 string `json:"key3"`
}

func (MultiHelloMultipleRequires) IsEntity() {}

type MultiHelloMultipleRequiresByNamesInput struct {
	Name string `json:"Name"`
}

type MultiHelloRequires struct {
	Name string `json:"name"`
	Key1 string `json:"key1"`
	Key2 string `json:"key2"`
}

func (MultiHelloRequires) IsEntity() {}

type MultiHelloRequiresByNamesInput struct {
	Name string `json:"Name"`
}

type MultiHelloWithError struct {
	Name string `json:"name"`
}

func (MultiHelloWithError) IsEntity() {}

type MultiHelloWithErrorByNamesInput struct {
	Name string `json:"Name"`
}

type MultiPlanetRequiresNested struct {
	Name   string   `json:"name"`
	World  *World   `json:"world"`
	Worlds []*World `json:"worlds,omitempty"`
	Size   int      `json:"size"`
	Sizes  []int    `json:"sizes,omitempty"`
}

func (MultiPlanetRequiresNested) IsEntity() {}

type MultiPlanetRequiresNestedByNamesInput struct {
	Name string `json:"Name"`
}

type Person struct {
	Name           string  `json:"name"`
	Gender         Gender  `json:"gender"`
	WelcomeMessage *string `json:"welcomeMessage,omitempty"`
}

func (Person) IsEntity() {}

type PlanetMultipleRequires struct {
	Name         string  `json:"name"`
	Diameter     int     `json:"diameter"`
	Density      int     `json:"density"`
	Weight       int     `json:"weight"`
	AnotherField *string `json:"anotherField,omitempty"`
}

func (PlanetMultipleRequires) IsEntity() {}

type PlanetRequires struct {
	Name     string `json:"name"`
	Size     int    `json:"size"`
	Diameter int    `json:"diameter"`
}

func (PlanetRequires) IsEntity() {}

type PlanetRequiresNested struct {
	Name   string   `json:"name"`
	World  *World   `json:"world"`
	Worlds []*World `json:"worlds,omitempty"`
	Size   int      `json:"size"`
	Sizes  []int    `json:"sizes,omitempty"`
}

func (PlanetRequiresNested) IsEntity() {}

type Query struct {
}

type World struct {
	Foo   string `json:"foo"`
	Bar   int    `json:"bar"`
	Hello *Hello `json:"hello,omitempty"`
}

func (World) IsEntity() {}

type WorldName struct {
	Name string `json:"name"`
}

func (WorldName) IsEntity() {}

type WorldWithMultipleKeys struct {
	Foo   string `json:"foo"`
	Bar   int    `json:"bar"`
	Hello *Hello `json:"hello,omitempty"`
}

func (WorldWithMultipleKeys) IsEntity() {}
