import { Field } from '@nestjs/graphql';
import { ObjectType } from '@nestjs/graphql';
import { ArgsType } from '@nestjs/graphql';
import { Int } from '@nestjs/graphql';
import { InputType } from '@nestjs/graphql';
import { Float } from '@nestjs/graphql';
import { registerEnumType } from '@nestjs/graphql';
import { ID } from '@nestjs/graphql';
import { HideField } from '@nestjs/graphql';

export enum UserScalarFieldEnum {
    id = "id",
    email = "email",
    emailVerifiedAt = "emailVerifiedAt",
    passwordHash = "passwordHash",
    avatar = "avatar",
    firstName = "firstName",
    lastName = "lastName",
    phoneNumber = "phoneNumber",
    biography = "biography",
    lastLoginAt = "lastLoginAt",
    createdAt = "createdAt",
    updatedAt = "updatedAt",
    role = "role"
}

export enum StationScalarFieldEnum {
    id = "id",
    stationName = "stationName",
    padArrangementName = "padArrangementName",
    padArrangementImage = "padArrangementImage",
    numOfPads = "numOfPads",
    pads = "pads",
    stationDescription = "stationDescription",
    rectangleAttributes = "rectangleAttributes",
    gameId = "gameId"
}

export enum SortOrder {
    asc = "asc",
    desc = "desc"
}

export enum Role {
    Guest = "Guest",
    User = "User",
    Admin = "Admin"
}

export enum PlayerScalarFieldEnum {
    id = "id",
    phoneId = "phoneId",
    email = "email",
    ownerId = "ownerId",
    clubId = "clubId",
    rating = "rating",
    phoneNumber = "phoneNumber",
    firstName = "firstName",
    lastName = "lastName",
    dateOfBirth = "dateOfBirth",
    avatarId = "avatarId",
    createdAt = "createdAt",
    updatedAt = "updatedAt",
    groupId = "groupId"
}

export enum PasswordResetScalarFieldEnum {
    id = "id",
    email = "email",
    token = "token",
    createdAt = "createdAt"
}

export enum GroupScalarFieldEnum {
    id = "id",
    phoneId = "phoneId",
    name = "name",
    description = "description",
    clubId = "clubId",
    createdAt = "createdAt",
    updatedAt = "updatedAt"
}

export enum GameDataScalarFieldEnum {
    id = "id",
    gameId = "gameId",
    hits = "hits",
    misses = "misses",
    accuracy = "accuracy",
    timeSequence = "timeSequence",
    padArrangement = "padArrangement",
    createdAt = "createdAt",
    updatedAt = "updatedAt"
}

export enum GameScalarFieldEnum {
    id = "id",
    phoneId = "phoneId",
    name = "name",
    notes = "notes",
    sequence = "sequence",
    gameMode = "gameMode",
    gameType = "gameType",
    gameTime = "gameTime",
    delayTime = "delayTime",
    numPads = "numPads",
    gameDescription = "gameDescription",
    padLightUpTime = "padLightUpTime",
    scheduledDate = "scheduledDate",
    clubId = "clubId",
    createdAt = "createdAt",
    updatedAt = "updatedAt"
}

export enum ClubScalarFieldEnum {
    id = "id",
    phoneId = "phoneId",
    clubName = "clubName",
    ownerId = "ownerId",
    createdAt = "createdAt",
    updatedAt = "updatedAt"
}

registerEnumType(ClubScalarFieldEnum, { name: 'ClubScalarFieldEnum', description: undefined })
registerEnumType(GameScalarFieldEnum, { name: 'GameScalarFieldEnum', description: undefined })
registerEnumType(GameDataScalarFieldEnum, { name: 'GameDataScalarFieldEnum', description: undefined })
registerEnumType(GroupScalarFieldEnum, { name: 'GroupScalarFieldEnum', description: undefined })
registerEnumType(PasswordResetScalarFieldEnum, { name: 'PasswordResetScalarFieldEnum', description: undefined })
registerEnumType(PlayerScalarFieldEnum, { name: 'PlayerScalarFieldEnum', description: undefined })
registerEnumType(Role, { name: 'Role', description: undefined })
registerEnumType(SortOrder, { name: 'SortOrder', description: undefined })
registerEnumType(StationScalarFieldEnum, { name: 'StationScalarFieldEnum', description: undefined })
registerEnumType(UserScalarFieldEnum, { name: 'UserScalarFieldEnum', description: undefined })

@ObjectType()
export class AggregateClub {
    @Field(() => ClubCountAggregate, {nullable:true})
    _count?: InstanceType<typeof ClubCountAggregate>;
    @Field(() => ClubAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof ClubAvgAggregate>;
    @Field(() => ClubSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof ClubSumAggregate>;
    @Field(() => ClubMinAggregate, {nullable:true})
    _min?: InstanceType<typeof ClubMinAggregate>;
    @Field(() => ClubMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof ClubMaxAggregate>;
}

@ArgsType()
export class ClubAggregateArgs {
    @Field(() => ClubWhereInput, {nullable:true})
    where?: InstanceType<typeof ClubWhereInput>;
    @Field(() => [ClubOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<ClubOrderByWithRelationInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => ClubCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof ClubCountAggregateInput>;
    @Field(() => ClubAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof ClubAvgAggregateInput>;
    @Field(() => ClubSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof ClubSumAggregateInput>;
    @Field(() => ClubMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof ClubMinAggregateInput>;
    @Field(() => ClubMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof ClubMaxAggregateInput>;
}

@InputType()
export class ClubAvgAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
}

@ObjectType()
export class ClubAvgAggregate {
    @Field(() => Float, {nullable:true})
    phoneId?: number;
}

@InputType()
export class ClubAvgOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
}

@InputType()
export class ClubCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    clubName?: true;
    @Field(() => Boolean, {nullable:true})
    ownerId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class ClubCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => Int, {nullable:false})
    clubName!: number;
    @Field(() => Int, {nullable:false})
    ownerId!: number;
    @Field(() => Int, {nullable:false})
    createdAt!: number;
    @Field(() => Int, {nullable:false})
    updatedAt!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class ClubCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@ObjectType()
export class ClubCount {
    @Field(() => Int, {nullable:false})
    games!: number;
    @Field(() => Int, {nullable:false})
    groups!: number;
    @Field(() => Int, {nullable:false})
    players!: number;
}

@InputType()
export class ClubCreateManyOwnerInputEnvelope {
    @Field(() => [ClubCreateManyOwnerInput], {nullable:false})
    data!: Array<ClubCreateManyOwnerInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@InputType()
export class ClubCreateManyOwnerInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class ClubCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class ClubCreateNestedManyWithoutOwnerInput {
    @Field(() => [ClubCreateWithoutOwnerInput], {nullable:true})
    create?: Array<ClubCreateWithoutOwnerInput>;
    @Field(() => [ClubCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<ClubCreateOrConnectWithoutOwnerInput>;
    @Field(() => ClubCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof ClubCreateManyOwnerInputEnvelope>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    connect?: Array<ClubWhereUniqueInput>;
}

@InputType()
export class ClubCreateNestedOneWithoutGamesInput {
    @Field(() => ClubCreateWithoutGamesInput, {nullable:true})
    create?: InstanceType<typeof ClubCreateWithoutGamesInput>;
    @Field(() => ClubCreateOrConnectWithoutGamesInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof ClubCreateOrConnectWithoutGamesInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof ClubWhereUniqueInput>;
}

@InputType()
export class ClubCreateNestedOneWithoutGroupsInput {
    @Field(() => ClubCreateWithoutGroupsInput, {nullable:true})
    create?: InstanceType<typeof ClubCreateWithoutGroupsInput>;
    @Field(() => ClubCreateOrConnectWithoutGroupsInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof ClubCreateOrConnectWithoutGroupsInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof ClubWhereUniqueInput>;
}

@InputType()
export class ClubCreateNestedOneWithoutPlayersInput {
    @Field(() => ClubCreateWithoutPlayersInput, {nullable:true})
    create?: InstanceType<typeof ClubCreateWithoutPlayersInput>;
    @Field(() => ClubCreateOrConnectWithoutPlayersInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof ClubCreateOrConnectWithoutPlayersInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof ClubWhereUniqueInput>;
}

@InputType()
export class ClubCreateOrConnectWithoutGamesInput {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubCreateWithoutGamesInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutGamesInput>;
}

@InputType()
export class ClubCreateOrConnectWithoutGroupsInput {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubCreateWithoutGroupsInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutGroupsInput>;
}

@InputType()
export class ClubCreateOrConnectWithoutOwnerInput {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubCreateWithoutOwnerInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutOwnerInput>;
}

@InputType()
export class ClubCreateOrConnectWithoutPlayersInput {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutPlayersInput>;
}

@InputType()
export class ClubCreateWithoutGamesInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutClubsInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutClubsInput>;
    @Field(() => GroupCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubCreateWithoutGroupsInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutClubsInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutClubsInput>;
    @Field(() => GameCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubCreateWithoutOwnerInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GameCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameCreateNestedManyWithoutClubInput>;
    @Field(() => GroupCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutClubsInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutClubsInput>;
    @Field(() => GameCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameCreateNestedManyWithoutClubInput>;
    @Field(() => GroupCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutClubsInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutClubsInput>;
    @Field(() => GameCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameCreateNestedManyWithoutClubInput>;
    @Field(() => GroupCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutClubInput>;
}

@ArgsType()
export class ClubGroupByArgs {
    @Field(() => ClubWhereInput, {nullable:true})
    where?: InstanceType<typeof ClubWhereInput>;
    @Field(() => [ClubOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<ClubOrderByWithAggregationInput>;
    @Field(() => [ClubScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof ClubScalarFieldEnum>;
    @Field(() => ClubScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof ClubScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => ClubCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof ClubCountAggregateInput>;
    @Field(() => ClubAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof ClubAvgAggregateInput>;
    @Field(() => ClubSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof ClubSumAggregateInput>;
    @Field(() => ClubMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof ClubMinAggregateInput>;
    @Field(() => ClubMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof ClubMaxAggregateInput>;
}

@ObjectType()
export class ClubGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date | string;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date | string;
    @Field(() => ClubCountAggregate, {nullable:true})
    _count?: InstanceType<typeof ClubCountAggregate>;
    @Field(() => ClubAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof ClubAvgAggregate>;
    @Field(() => ClubSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof ClubSumAggregate>;
    @Field(() => ClubMinAggregate, {nullable:true})
    _min?: InstanceType<typeof ClubMinAggregate>;
    @Field(() => ClubMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof ClubMaxAggregate>;
}

@InputType()
export class ClubListRelationFilter {
    @Field(() => ClubWhereInput, {nullable:true})
    every?: InstanceType<typeof ClubWhereInput>;
    @Field(() => ClubWhereInput, {nullable:true})
    some?: InstanceType<typeof ClubWhereInput>;
    @Field(() => ClubWhereInput, {nullable:true})
    none?: InstanceType<typeof ClubWhereInput>;
}

@InputType()
export class ClubMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    clubName?: true;
    @Field(() => Boolean, {nullable:true})
    ownerId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class ClubMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    clubName?: string;
    @Field(() => String, {nullable:true})
    ownerId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class ClubMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class ClubMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    clubName?: true;
    @Field(() => Boolean, {nullable:true})
    ownerId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class ClubMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    clubName?: string;
    @Field(() => String, {nullable:true})
    ownerId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class ClubMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class ClubOrderByRelationAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    _count?: keyof typeof SortOrder;
}

@InputType()
export class ClubOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => ClubCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof ClubCountOrderByAggregateInput>;
    @Field(() => ClubAvgOrderByAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof ClubAvgOrderByAggregateInput>;
    @Field(() => ClubMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof ClubMaxOrderByAggregateInput>;
    @Field(() => ClubMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof ClubMinOrderByAggregateInput>;
    @Field(() => ClubSumOrderByAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof ClubSumOrderByAggregateInput>;
}

@InputType()
export class ClubOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => UserOrderByWithRelationInput, {nullable:true})
    owner?: InstanceType<typeof UserOrderByWithRelationInput>;
    @Field(() => GameOrderByRelationAggregateInput, {nullable:true})
    games?: InstanceType<typeof GameOrderByRelationAggregateInput>;
    @Field(() => GroupOrderByRelationAggregateInput, {nullable:true})
    groups?: InstanceType<typeof GroupOrderByRelationAggregateInput>;
    @Field(() => PlayerOrderByRelationAggregateInput, {nullable:true})
    players?: InstanceType<typeof PlayerOrderByRelationAggregateInput>;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class ClubRelationFilter {
    @Field(() => ClubWhereInput, {nullable:true})
    is?: InstanceType<typeof ClubWhereInput>;
    @Field(() => ClubWhereInput, {nullable:true})
    isNot?: InstanceType<typeof ClubWhereInput>;
}

@InputType()
export class ClubScalarWhereWithAggregatesInput {
    @Field(() => [ClubScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<ClubScalarWhereWithAggregatesInput>;
    @Field(() => [ClubScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<ClubScalarWhereWithAggregatesInput>;
    @Field(() => [ClubScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<ClubScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    clubName?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    ownerId?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
}

@InputType()
export class ClubScalarWhereInput {
    @Field(() => [ClubScalarWhereInput], {nullable:true})
    AND?: Array<ClubScalarWhereInput>;
    @Field(() => [ClubScalarWhereInput], {nullable:true})
    OR?: Array<ClubScalarWhereInput>;
    @Field(() => [ClubScalarWhereInput], {nullable:true})
    NOT?: Array<ClubScalarWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    ownerId?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@InputType()
export class ClubSumAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
}

@ObjectType()
export class ClubSumAggregate {
    @Field(() => Int, {nullable:true})
    phoneId?: number;
}

@InputType()
export class ClubSumOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
}

@InputType()
export class ClubUncheckedCreateNestedManyWithoutOwnerInput {
    @Field(() => [ClubCreateWithoutOwnerInput], {nullable:true})
    create?: Array<ClubCreateWithoutOwnerInput>;
    @Field(() => [ClubCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<ClubCreateOrConnectWithoutOwnerInput>;
    @Field(() => ClubCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof ClubCreateManyOwnerInputEnvelope>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    connect?: Array<ClubWhereUniqueInput>;
}

@InputType()
export class ClubUncheckedCreateWithoutGamesInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GroupUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedCreateWithoutGroupsInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GameUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedCreateWithoutOwnerInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GameUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedCreateNestedManyWithoutClubInput>;
    @Field(() => GroupUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GameUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedCreateNestedManyWithoutClubInput>;
    @Field(() => GroupUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GameUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedCreateNestedManyWithoutClubInput>;
    @Field(() => GroupUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedCreateNestedManyWithoutClubInput>;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedUpdateManyWithoutClubsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class ClubUncheckedUpdateManyWithoutOwnerInput {
    @Field(() => [ClubCreateWithoutOwnerInput], {nullable:true})
    create?: Array<ClubCreateWithoutOwnerInput>;
    @Field(() => [ClubCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<ClubCreateOrConnectWithoutOwnerInput>;
    @Field(() => [ClubUpsertWithWhereUniqueWithoutOwnerInput], {nullable:true})
    upsert?: Array<ClubUpsertWithWhereUniqueWithoutOwnerInput>;
    @Field(() => ClubCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof ClubCreateManyOwnerInputEnvelope>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    set?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    disconnect?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    delete?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    connect?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubUpdateWithWhereUniqueWithoutOwnerInput], {nullable:true})
    update?: Array<ClubUpdateWithWhereUniqueWithoutOwnerInput>;
    @Field(() => [ClubUpdateManyWithWhereWithoutOwnerInput], {nullable:true})
    updateMany?: Array<ClubUpdateManyWithWhereWithoutOwnerInput>;
    @Field(() => [ClubScalarWhereInput], {nullable:true})
    deleteMany?: Array<ClubScalarWhereInput>;
}

@InputType()
export class ClubUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class ClubUncheckedUpdateWithoutGamesInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GroupUncheckedUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedUpdateManyWithoutClubInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedUpdateWithoutGroupsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GameUncheckedUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedUpdateManyWithoutClubInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedUpdateWithoutOwnerInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GameUncheckedUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedUpdateManyWithoutClubInput>;
    @Field(() => GroupUncheckedUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedUpdateManyWithoutClubInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GameUncheckedUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedUpdateManyWithoutClubInput>;
    @Field(() => GroupUncheckedUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GameUncheckedUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUncheckedUpdateManyWithoutClubInput>;
    @Field(() => GroupUncheckedUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUncheckedUpdateManyWithoutClubInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class ClubUpdateManyWithWhereWithoutOwnerInput {
    @Field(() => ClubScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof ClubScalarWhereInput>;
    @Field(() => ClubUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof ClubUpdateManyMutationInput>;
}

@InputType()
export class ClubUpdateManyWithoutOwnerInput {
    @Field(() => [ClubCreateWithoutOwnerInput], {nullable:true})
    create?: Array<ClubCreateWithoutOwnerInput>;
    @Field(() => [ClubCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<ClubCreateOrConnectWithoutOwnerInput>;
    @Field(() => [ClubUpsertWithWhereUniqueWithoutOwnerInput], {nullable:true})
    upsert?: Array<ClubUpsertWithWhereUniqueWithoutOwnerInput>;
    @Field(() => ClubCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof ClubCreateManyOwnerInputEnvelope>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    set?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    disconnect?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    delete?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubWhereUniqueInput], {nullable:true})
    connect?: Array<ClubWhereUniqueInput>;
    @Field(() => [ClubUpdateWithWhereUniqueWithoutOwnerInput], {nullable:true})
    update?: Array<ClubUpdateWithWhereUniqueWithoutOwnerInput>;
    @Field(() => [ClubUpdateManyWithWhereWithoutOwnerInput], {nullable:true})
    updateMany?: Array<ClubUpdateManyWithWhereWithoutOwnerInput>;
    @Field(() => [ClubScalarWhereInput], {nullable:true})
    deleteMany?: Array<ClubScalarWhereInput>;
}

@InputType()
export class ClubUpdateOneRequiredWithoutGamesInput {
    @Field(() => ClubCreateWithoutGamesInput, {nullable:true})
    create?: InstanceType<typeof ClubCreateWithoutGamesInput>;
    @Field(() => ClubCreateOrConnectWithoutGamesInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof ClubCreateOrConnectWithoutGamesInput>;
    @Field(() => ClubUpsertWithoutGamesInput, {nullable:true})
    upsert?: InstanceType<typeof ClubUpsertWithoutGamesInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubUpdateWithoutGamesInput, {nullable:true})
    update?: InstanceType<typeof ClubUpdateWithoutGamesInput>;
}

@InputType()
export class ClubUpdateOneRequiredWithoutGroupsInput {
    @Field(() => ClubCreateWithoutGroupsInput, {nullable:true})
    create?: InstanceType<typeof ClubCreateWithoutGroupsInput>;
    @Field(() => ClubCreateOrConnectWithoutGroupsInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof ClubCreateOrConnectWithoutGroupsInput>;
    @Field(() => ClubUpsertWithoutGroupsInput, {nullable:true})
    upsert?: InstanceType<typeof ClubUpsertWithoutGroupsInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubUpdateWithoutGroupsInput, {nullable:true})
    update?: InstanceType<typeof ClubUpdateWithoutGroupsInput>;
}

@InputType()
export class ClubUpdateOneRequiredWithoutPlayersInput {
    @Field(() => ClubCreateWithoutPlayersInput, {nullable:true})
    create?: InstanceType<typeof ClubCreateWithoutPlayersInput>;
    @Field(() => ClubCreateOrConnectWithoutPlayersInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof ClubCreateOrConnectWithoutPlayersInput>;
    @Field(() => ClubUpsertWithoutPlayersInput, {nullable:true})
    upsert?: InstanceType<typeof ClubUpsertWithoutPlayersInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubUpdateWithoutPlayersInput, {nullable:true})
    update?: InstanceType<typeof ClubUpdateWithoutPlayersInput>;
}

@InputType()
export class ClubUpdateWithWhereUniqueWithoutOwnerInput {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubUpdateWithoutOwnerInput, {nullable:false})
    data!: InstanceType<typeof ClubUpdateWithoutOwnerInput>;
}

@InputType()
export class ClubUpdateWithoutGamesInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutClubsInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutClubsInput>;
    @Field(() => GroupUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUpdateManyWithoutClubInput>;
    @Field(() => PlayerUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUpdateWithoutGroupsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutClubsInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutClubsInput>;
    @Field(() => GameUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUpdateManyWithoutClubInput>;
    @Field(() => PlayerUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUpdateWithoutOwnerInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GameUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUpdateManyWithoutClubInput>;
    @Field(() => GroupUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUpdateManyWithoutClubInput>;
    @Field(() => PlayerUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutClubsInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutClubsInput>;
    @Field(() => GameUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUpdateManyWithoutClubInput>;
    @Field(() => GroupUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutClubsInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutClubsInput>;
    @Field(() => GameUpdateManyWithoutClubInput, {nullable:true})
    games?: InstanceType<typeof GameUpdateManyWithoutClubInput>;
    @Field(() => GroupUpdateManyWithoutClubInput, {nullable:true})
    groups?: InstanceType<typeof GroupUpdateManyWithoutClubInput>;
    @Field(() => PlayerUpdateManyWithoutClubInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutClubInput>;
}

@InputType()
export class ClubUpsertWithWhereUniqueWithoutOwnerInput {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubUpdateWithoutOwnerInput, {nullable:false})
    update!: InstanceType<typeof ClubUpdateWithoutOwnerInput>;
    @Field(() => ClubCreateWithoutOwnerInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutOwnerInput>;
}

@InputType()
export class ClubUpsertWithoutGamesInput {
    @Field(() => ClubUpdateWithoutGamesInput, {nullable:false})
    update!: InstanceType<typeof ClubUpdateWithoutGamesInput>;
    @Field(() => ClubCreateWithoutGamesInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutGamesInput>;
}

@InputType()
export class ClubUpsertWithoutGroupsInput {
    @Field(() => ClubUpdateWithoutGroupsInput, {nullable:false})
    update!: InstanceType<typeof ClubUpdateWithoutGroupsInput>;
    @Field(() => ClubCreateWithoutGroupsInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutGroupsInput>;
}

@InputType()
export class ClubUpsertWithoutPlayersInput {
    @Field(() => ClubUpdateWithoutPlayersInput, {nullable:false})
    update!: InstanceType<typeof ClubUpdateWithoutPlayersInput>;
    @Field(() => ClubCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateWithoutPlayersInput>;
}

@InputType()
export class ClubWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
}

@InputType()
export class ClubWhereInput {
    @Field(() => [ClubWhereInput], {nullable:true})
    AND?: Array<ClubWhereInput>;
    @Field(() => [ClubWhereInput], {nullable:true})
    OR?: Array<ClubWhereInput>;
    @Field(() => [ClubWhereInput], {nullable:true})
    NOT?: Array<ClubWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    ownerId?: InstanceType<typeof StringFilter>;
    @Field(() => UserRelationFilter, {nullable:true})
    owner?: InstanceType<typeof UserRelationFilter>;
    @Field(() => GameListRelationFilter, {nullable:true})
    games?: InstanceType<typeof GameListRelationFilter>;
    @Field(() => GroupListRelationFilter, {nullable:true})
    groups?: InstanceType<typeof GroupListRelationFilter>;
    @Field(() => PlayerListRelationFilter, {nullable:true})
    players?: InstanceType<typeof PlayerListRelationFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@ObjectType()
export class Club {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    clubName!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => User, {nullable:false})
    owner?: InstanceType<typeof User>;
    @Field(() => [Game], {nullable:true})
    games?: Array<Game>;
    @Field(() => [Group], {nullable:true})
    groups?: Array<Group>;
    @Field(() => [Player], {nullable:true})
    players?: Array<Player>;
    @Field(() => Date, {nullable:false})
    createdAt!: Date;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date;
    @Field(() => ClubCount, {nullable:false})
    _count?: InstanceType<typeof ClubCount>;
}

@ArgsType()
export class CreateManyClubArgs {
    @Field(() => [ClubCreateManyInput], {nullable:false})
    data!: Array<ClubCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOneClubArgs {
    @Field(() => ClubCreateInput, {nullable:false})
    data!: InstanceType<typeof ClubCreateInput>;
}

@ArgsType()
export class DeleteManyClubArgs {
    @Field(() => ClubWhereInput, {nullable:true})
    where?: InstanceType<typeof ClubWhereInput>;
}

@ArgsType()
export class DeleteOneClubArgs {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
}

@ArgsType()
export class FindFirstClubArgs {
    @Field(() => ClubWhereInput, {nullable:true})
    where?: InstanceType<typeof ClubWhereInput>;
    @Field(() => [ClubOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<ClubOrderByWithRelationInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [ClubScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof ClubScalarFieldEnum>;
}

@ArgsType()
export class FindManyClubArgs {
    @Field(() => ClubWhereInput, {nullable:true})
    where?: InstanceType<typeof ClubWhereInput>;
    @Field(() => [ClubOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<ClubOrderByWithRelationInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [ClubScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof ClubScalarFieldEnum>;
}

@ArgsType()
export class FindUniqueClubArgs {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
}

@ArgsType()
export class UpdateManyClubArgs {
    @Field(() => ClubUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof ClubUpdateManyMutationInput>;
    @Field(() => ClubWhereInput, {nullable:true})
    where?: InstanceType<typeof ClubWhereInput>;
}

@ArgsType()
export class UpdateOneClubArgs {
    @Field(() => ClubUpdateInput, {nullable:false})
    data!: InstanceType<typeof ClubUpdateInput>;
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
}

@ArgsType()
export class UpsertOneClubArgs {
    @Field(() => ClubWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof ClubWhereUniqueInput>;
    @Field(() => ClubCreateInput, {nullable:false})
    create!: InstanceType<typeof ClubCreateInput>;
    @Field(() => ClubUpdateInput, {nullable:false})
    update!: InstanceType<typeof ClubUpdateInput>;
}

@ObjectType()
export class AggregateGame {
    @Field(() => GameCountAggregate, {nullable:true})
    _count?: InstanceType<typeof GameCountAggregate>;
    @Field(() => GameAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof GameAvgAggregate>;
    @Field(() => GameSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof GameSumAggregate>;
    @Field(() => GameMinAggregate, {nullable:true})
    _min?: InstanceType<typeof GameMinAggregate>;
    @Field(() => GameMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof GameMaxAggregate>;
}

@ArgsType()
export class CreateManyGameArgs {
    @Field(() => [GameCreateManyInput], {nullable:false})
    data!: Array<GameCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOneGameArgs {
    @Field(() => GameCreateInput, {nullable:false})
    data!: InstanceType<typeof GameCreateInput>;
}

@ArgsType()
export class DeleteManyGameArgs {
    @Field(() => GameWhereInput, {nullable:true})
    where?: InstanceType<typeof GameWhereInput>;
}

@ArgsType()
export class DeleteOneGameArgs {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
}

@ArgsType()
export class FindFirstGameArgs {
    @Field(() => GameWhereInput, {nullable:true})
    where?: InstanceType<typeof GameWhereInput>;
    @Field(() => [GameOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GameOrderByWithRelationInput>;
    @Field(() => GameWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [GameScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof GameScalarFieldEnum>;
}

@ArgsType()
export class FindManyGameArgs {
    @Field(() => GameWhereInput, {nullable:true})
    where?: InstanceType<typeof GameWhereInput>;
    @Field(() => [GameOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GameOrderByWithRelationInput>;
    @Field(() => GameWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [GameScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof GameScalarFieldEnum>;
}

@ArgsType()
export class FindUniqueGameArgs {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
}

@ArgsType()
export class GameAggregateArgs {
    @Field(() => GameWhereInput, {nullable:true})
    where?: InstanceType<typeof GameWhereInput>;
    @Field(() => [GameOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GameOrderByWithRelationInput>;
    @Field(() => GameWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => GameCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GameCountAggregateInput>;
    @Field(() => GameAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GameAvgAggregateInput>;
    @Field(() => GameSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GameSumAggregateInput>;
    @Field(() => GameMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GameMinAggregateInput>;
    @Field(() => GameMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GameMaxAggregateInput>;
}

@InputType()
export class GameAvgAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    numPads?: true;
    @Field(() => Boolean, {nullable:true})
    padLightUpTime?: true;
}

@ObjectType()
export class GameAvgAggregate {
    @Field(() => Float, {nullable:true})
    phoneId?: number;
    @Field(() => Float, {nullable:true})
    numPads?: number;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
}

@InputType()
export class GameAvgOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padLightUpTime?: keyof typeof SortOrder;
}

@InputType()
export class GameCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    name?: true;
    @Field(() => Boolean, {nullable:true})
    notes?: true;
    @Field(() => Boolean, {nullable:true})
    sequence?: true;
    @Field(() => Boolean, {nullable:true})
    gameMode?: true;
    @Field(() => Boolean, {nullable:true})
    gameType?: true;
    @Field(() => Boolean, {nullable:true})
    gameTime?: true;
    @Field(() => Boolean, {nullable:true})
    delayTime?: true;
    @Field(() => Boolean, {nullable:true})
    numPads?: true;
    @Field(() => Boolean, {nullable:true})
    gameDescription?: true;
    @Field(() => Boolean, {nullable:true})
    padLightUpTime?: true;
    @Field(() => Boolean, {nullable:true})
    scheduledDate?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class GameCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => Int, {nullable:false})
    name!: number;
    @Field(() => Int, {nullable:false})
    notes!: number;
    @Field(() => Int, {nullable:false})
    sequence!: number;
    @Field(() => Int, {nullable:false})
    gameMode!: number;
    @Field(() => Int, {nullable:false})
    gameType!: number;
    @Field(() => Int, {nullable:false})
    gameTime!: number;
    @Field(() => Int, {nullable:false})
    delayTime!: number;
    @Field(() => Int, {nullable:false})
    numPads!: number;
    @Field(() => Int, {nullable:false})
    gameDescription!: number;
    @Field(() => Int, {nullable:false})
    padLightUpTime!: number;
    @Field(() => Int, {nullable:false})
    scheduledDate!: number;
    @Field(() => Int, {nullable:false})
    clubId!: number;
    @Field(() => Int, {nullable:false})
    createdAt!: number;
    @Field(() => Int, {nullable:false})
    updatedAt!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class GameCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    notes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    sequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameMode?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameType?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    delayTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padLightUpTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    scheduledDate?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@ObjectType()
export class GameCount {
    @Field(() => Int, {nullable:false})
    stations!: number;
}

@InputType()
export class GameCreateManyClubInputEnvelope {
    @Field(() => [GameCreateManyClubInput], {nullable:false})
    data!: Array<GameCreateManyClubInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@InputType()
export class GameCreateManyClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameCreateNestedManyWithoutClubInput {
    @Field(() => [GameCreateWithoutClubInput], {nullable:true})
    create?: Array<GameCreateWithoutClubInput>;
    @Field(() => [GameCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GameCreateOrConnectWithoutClubInput>;
    @Field(() => GameCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GameCreateManyClubInputEnvelope>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    connect?: Array<GameWhereUniqueInput>;
}

@InputType()
export class GameCreateNestedOneWithoutGameDataInput {
    @Field(() => GameCreateWithoutGameDataInput, {nullable:true})
    create?: InstanceType<typeof GameCreateWithoutGameDataInput>;
    @Field(() => GameCreateOrConnectWithoutGameDataInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameCreateOrConnectWithoutGameDataInput>;
    @Field(() => GameWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameWhereUniqueInput>;
}

@InputType()
export class GameCreateNestedOneWithoutStationsInput {
    @Field(() => GameCreateWithoutStationsInput, {nullable:true})
    create?: InstanceType<typeof GameCreateWithoutStationsInput>;
    @Field(() => GameCreateOrConnectWithoutStationsInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameCreateOrConnectWithoutStationsInput>;
    @Field(() => GameWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameWhereUniqueInput>;
}

@InputType()
export class GameCreateOrConnectWithoutClubInput {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameCreateWithoutClubInput, {nullable:false})
    create!: InstanceType<typeof GameCreateWithoutClubInput>;
}

@InputType()
export class GameCreateOrConnectWithoutGameDataInput {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameCreateWithoutGameDataInput, {nullable:false})
    create!: InstanceType<typeof GameCreateWithoutGameDataInput>;
}

@InputType()
export class GameCreateOrConnectWithoutStationsInput {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameCreateWithoutStationsInput, {nullable:false})
    create!: InstanceType<typeof GameCreateWithoutStationsInput>;
}

@InputType()
export class GameCreateWithoutClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => StationCreateNestedManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationCreateNestedManyWithoutGameInput>;
    @Field(() => GameDataCreateNestedOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataCreateNestedOneWithoutGameInput>;
}

@InputType()
export class GameCreateWithoutGameDataInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => StationCreateNestedManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationCreateNestedManyWithoutGameInput>;
    @Field(() => ClubCreateNestedOneWithoutGamesInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutGamesInput>;
}

@InputType()
export class GameCreateWithoutStationsInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => ClubCreateNestedOneWithoutGamesInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutGamesInput>;
    @Field(() => GameDataCreateNestedOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataCreateNestedOneWithoutGameInput>;
}

@InputType()
export class GameCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => StationCreateNestedManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationCreateNestedManyWithoutGameInput>;
    @Field(() => ClubCreateNestedOneWithoutGamesInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutGamesInput>;
    @Field(() => GameDataCreateNestedOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataCreateNestedOneWithoutGameInput>;
}

@ArgsType()
export class GameGroupByArgs {
    @Field(() => GameWhereInput, {nullable:true})
    where?: InstanceType<typeof GameWhereInput>;
    @Field(() => [GameOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<GameOrderByWithAggregationInput>;
    @Field(() => [GameScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof GameScalarFieldEnum>;
    @Field(() => GameScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof GameScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => GameCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GameCountAggregateInput>;
    @Field(() => GameAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GameAvgAggregateInput>;
    @Field(() => GameSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GameSumAggregateInput>;
    @Field(() => GameMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GameMinAggregateInput>;
    @Field(() => GameMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GameMaxAggregateInput>;
}

@ObjectType()
export class GameGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date | string;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date | string;
    @Field(() => GameCountAggregate, {nullable:true})
    _count?: InstanceType<typeof GameCountAggregate>;
    @Field(() => GameAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof GameAvgAggregate>;
    @Field(() => GameSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof GameSumAggregate>;
    @Field(() => GameMinAggregate, {nullable:true})
    _min?: InstanceType<typeof GameMinAggregate>;
    @Field(() => GameMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof GameMaxAggregate>;
}

@InputType()
export class GameListRelationFilter {
    @Field(() => GameWhereInput, {nullable:true})
    every?: InstanceType<typeof GameWhereInput>;
    @Field(() => GameWhereInput, {nullable:true})
    some?: InstanceType<typeof GameWhereInput>;
    @Field(() => GameWhereInput, {nullable:true})
    none?: InstanceType<typeof GameWhereInput>;
}

@InputType()
export class GameMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    name?: true;
    @Field(() => Boolean, {nullable:true})
    notes?: true;
    @Field(() => Boolean, {nullable:true})
    sequence?: true;
    @Field(() => Boolean, {nullable:true})
    gameMode?: true;
    @Field(() => Boolean, {nullable:true})
    gameType?: true;
    @Field(() => Boolean, {nullable:true})
    gameTime?: true;
    @Field(() => Boolean, {nullable:true})
    delayTime?: true;
    @Field(() => Boolean, {nullable:true})
    numPads?: true;
    @Field(() => Boolean, {nullable:true})
    gameDescription?: true;
    @Field(() => Boolean, {nullable:true})
    padLightUpTime?: true;
    @Field(() => Boolean, {nullable:true})
    scheduledDate?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class GameMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    name?: string;
    @Field(() => String, {nullable:true})
    notes?: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => String, {nullable:true})
    clubId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    notes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    sequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameMode?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameType?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    delayTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padLightUpTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    scheduledDate?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GameMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    name?: true;
    @Field(() => Boolean, {nullable:true})
    notes?: true;
    @Field(() => Boolean, {nullable:true})
    sequence?: true;
    @Field(() => Boolean, {nullable:true})
    gameMode?: true;
    @Field(() => Boolean, {nullable:true})
    gameType?: true;
    @Field(() => Boolean, {nullable:true})
    gameTime?: true;
    @Field(() => Boolean, {nullable:true})
    delayTime?: true;
    @Field(() => Boolean, {nullable:true})
    numPads?: true;
    @Field(() => Boolean, {nullable:true})
    gameDescription?: true;
    @Field(() => Boolean, {nullable:true})
    padLightUpTime?: true;
    @Field(() => Boolean, {nullable:true})
    scheduledDate?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class GameMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    name?: string;
    @Field(() => String, {nullable:true})
    notes?: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => String, {nullable:true})
    clubId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    notes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    sequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameMode?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameType?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    delayTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padLightUpTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    scheduledDate?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GameOrderByRelationAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    _count?: keyof typeof SortOrder;
}

@InputType()
export class GameOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    notes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    sequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameMode?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameType?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    delayTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padLightUpTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    scheduledDate?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => GameCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GameCountOrderByAggregateInput>;
    @Field(() => GameAvgOrderByAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GameAvgOrderByAggregateInput>;
    @Field(() => GameMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GameMaxOrderByAggregateInput>;
    @Field(() => GameMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GameMinOrderByAggregateInput>;
    @Field(() => GameSumOrderByAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GameSumOrderByAggregateInput>;
}

@InputType()
export class GameOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    notes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    sequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameMode?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameType?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    delayTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameDescription?: keyof typeof SortOrder;
    @Field(() => StationOrderByRelationAggregateInput, {nullable:true})
    stations?: InstanceType<typeof StationOrderByRelationAggregateInput>;
    @Field(() => SortOrder, {nullable:true})
    padLightUpTime?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    scheduledDate?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => ClubOrderByWithRelationInput, {nullable:true})
    club?: InstanceType<typeof ClubOrderByWithRelationInput>;
    @Field(() => GameDataOrderByWithRelationInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataOrderByWithRelationInput>;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GameRelationFilter {
    @Field(() => GameWhereInput, {nullable:true})
    is?: InstanceType<typeof GameWhereInput>;
    @Field(() => GameWhereInput, {nullable:true})
    isNot?: InstanceType<typeof GameWhereInput>;
}

@InputType()
export class GameScalarWhereWithAggregatesInput {
    @Field(() => [GameScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<GameScalarWhereWithAggregatesInput>;
    @Field(() => [GameScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<GameScalarWhereWithAggregatesInput>;
    @Field(() => [GameScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<GameScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    name?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    notes?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    sequence?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    gameMode?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    gameType?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    gameTime?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    delayTime?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    numPads?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    gameDescription?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => FloatWithAggregatesFilter, {nullable:true})
    padLightUpTime?: InstanceType<typeof FloatWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    scheduledDate?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    clubId?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
}

@InputType()
export class GameScalarWhereInput {
    @Field(() => [GameScalarWhereInput], {nullable:true})
    AND?: Array<GameScalarWhereInput>;
    @Field(() => [GameScalarWhereInput], {nullable:true})
    OR?: Array<GameScalarWhereInput>;
    @Field(() => [GameScalarWhereInput], {nullable:true})
    NOT?: Array<GameScalarWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    name?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    notes?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    sequence?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameMode?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameType?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameTime?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    delayTime?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    numPads?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameDescription?: InstanceType<typeof StringFilter>;
    @Field(() => FloatFilter, {nullable:true})
    padLightUpTime?: InstanceType<typeof FloatFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    scheduledDate?: InstanceType<typeof DateTimeFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubId?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@InputType()
export class GameSumAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    numPads?: true;
    @Field(() => Boolean, {nullable:true})
    padLightUpTime?: true;
}

@ObjectType()
export class GameSumAggregate {
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
}

@InputType()
export class GameSumOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padLightUpTime?: keyof typeof SortOrder;
}

@InputType()
export class GameUncheckedCreateNestedManyWithoutClubInput {
    @Field(() => [GameCreateWithoutClubInput], {nullable:true})
    create?: Array<GameCreateWithoutClubInput>;
    @Field(() => [GameCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GameCreateOrConnectWithoutClubInput>;
    @Field(() => GameCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GameCreateManyClubInputEnvelope>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    connect?: Array<GameWhereUniqueInput>;
}

@InputType()
export class GameUncheckedCreateWithoutClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => StationUncheckedCreateNestedManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUncheckedCreateNestedManyWithoutGameInput>;
    @Field(() => GameDataUncheckedCreateNestedOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUncheckedCreateNestedOneWithoutGameInput>;
}

@InputType()
export class GameUncheckedCreateWithoutGameDataInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => StationUncheckedCreateNestedManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUncheckedCreateNestedManyWithoutGameInput>;
}

@InputType()
export class GameUncheckedCreateWithoutStationsInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GameDataUncheckedCreateNestedOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUncheckedCreateNestedOneWithoutGameInput>;
}

@InputType()
export class GameUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence?: string;
    @Field(() => String, {nullable:true})
    gameMode?: string;
    @Field(() => String, {nullable:true})
    gameType?: string;
    @Field(() => String, {nullable:true})
    gameTime?: string;
    @Field(() => String, {nullable:true})
    delayTime?: string;
    @Field(() => Int, {nullable:true})
    numPads?: number;
    @Field(() => String, {nullable:true})
    gameDescription?: string;
    @Field(() => Float, {nullable:true})
    padLightUpTime?: number;
    @Field(() => Date, {nullable:true})
    scheduledDate?: Date | string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => StationUncheckedCreateNestedManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUncheckedCreateNestedManyWithoutGameInput>;
    @Field(() => GameDataUncheckedCreateNestedOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUncheckedCreateNestedOneWithoutGameInput>;
}

@InputType()
export class GameUncheckedUpdateManyWithoutClubInput {
    @Field(() => [GameCreateWithoutClubInput], {nullable:true})
    create?: Array<GameCreateWithoutClubInput>;
    @Field(() => [GameCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GameCreateOrConnectWithoutClubInput>;
    @Field(() => [GameUpsertWithWhereUniqueWithoutClubInput], {nullable:true})
    upsert?: Array<GameUpsertWithWhereUniqueWithoutClubInput>;
    @Field(() => GameCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GameCreateManyClubInputEnvelope>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    set?: Array<GameWhereUniqueInput>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    disconnect?: Array<GameWhereUniqueInput>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    delete?: Array<GameWhereUniqueInput>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    connect?: Array<GameWhereUniqueInput>;
    @Field(() => [GameUpdateWithWhereUniqueWithoutClubInput], {nullable:true})
    update?: Array<GameUpdateWithWhereUniqueWithoutClubInput>;
    @Field(() => [GameUpdateManyWithWhereWithoutClubInput], {nullable:true})
    updateMany?: Array<GameUpdateManyWithWhereWithoutClubInput>;
    @Field(() => [GameScalarWhereInput], {nullable:true})
    deleteMany?: Array<GameScalarWhereInput>;
}

@InputType()
export class GameUncheckedUpdateManyWithoutGamesInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameUncheckedUpdateWithoutClubInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StationUncheckedUpdateManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUncheckedUpdateManyWithoutGameInput>;
    @Field(() => GameDataUncheckedUpdateOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUncheckedUpdateOneWithoutGameInput>;
}

@InputType()
export class GameUncheckedUpdateWithoutGameDataInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StationUncheckedUpdateManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUncheckedUpdateManyWithoutGameInput>;
}

@InputType()
export class GameUncheckedUpdateWithoutStationsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GameDataUncheckedUpdateOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUncheckedUpdateOneWithoutGameInput>;
}

@InputType()
export class GameUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StationUncheckedUpdateManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUncheckedUpdateManyWithoutGameInput>;
    @Field(() => GameDataUncheckedUpdateOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUncheckedUpdateOneWithoutGameInput>;
}

@InputType()
export class GameUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameUpdateManyWithWhereWithoutClubInput {
    @Field(() => GameScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof GameScalarWhereInput>;
    @Field(() => GameUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof GameUpdateManyMutationInput>;
}

@InputType()
export class GameUpdateManyWithoutClubInput {
    @Field(() => [GameCreateWithoutClubInput], {nullable:true})
    create?: Array<GameCreateWithoutClubInput>;
    @Field(() => [GameCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GameCreateOrConnectWithoutClubInput>;
    @Field(() => [GameUpsertWithWhereUniqueWithoutClubInput], {nullable:true})
    upsert?: Array<GameUpsertWithWhereUniqueWithoutClubInput>;
    @Field(() => GameCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GameCreateManyClubInputEnvelope>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    set?: Array<GameWhereUniqueInput>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    disconnect?: Array<GameWhereUniqueInput>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    delete?: Array<GameWhereUniqueInput>;
    @Field(() => [GameWhereUniqueInput], {nullable:true})
    connect?: Array<GameWhereUniqueInput>;
    @Field(() => [GameUpdateWithWhereUniqueWithoutClubInput], {nullable:true})
    update?: Array<GameUpdateWithWhereUniqueWithoutClubInput>;
    @Field(() => [GameUpdateManyWithWhereWithoutClubInput], {nullable:true})
    updateMany?: Array<GameUpdateManyWithWhereWithoutClubInput>;
    @Field(() => [GameScalarWhereInput], {nullable:true})
    deleteMany?: Array<GameScalarWhereInput>;
}

@InputType()
export class GameUpdateOneRequiredWithoutGameDataInput {
    @Field(() => GameCreateWithoutGameDataInput, {nullable:true})
    create?: InstanceType<typeof GameCreateWithoutGameDataInput>;
    @Field(() => GameCreateOrConnectWithoutGameDataInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameCreateOrConnectWithoutGameDataInput>;
    @Field(() => GameUpsertWithoutGameDataInput, {nullable:true})
    upsert?: InstanceType<typeof GameUpsertWithoutGameDataInput>;
    @Field(() => GameWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameUpdateWithoutGameDataInput, {nullable:true})
    update?: InstanceType<typeof GameUpdateWithoutGameDataInput>;
}

@InputType()
export class GameUpdateOneRequiredWithoutStationsInput {
    @Field(() => GameCreateWithoutStationsInput, {nullable:true})
    create?: InstanceType<typeof GameCreateWithoutStationsInput>;
    @Field(() => GameCreateOrConnectWithoutStationsInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameCreateOrConnectWithoutStationsInput>;
    @Field(() => GameUpsertWithoutStationsInput, {nullable:true})
    upsert?: InstanceType<typeof GameUpsertWithoutStationsInput>;
    @Field(() => GameWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameUpdateWithoutStationsInput, {nullable:true})
    update?: InstanceType<typeof GameUpdateWithoutStationsInput>;
}

@InputType()
export class GameUpdateWithWhereUniqueWithoutClubInput {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameUpdateWithoutClubInput, {nullable:false})
    data!: InstanceType<typeof GameUpdateWithoutClubInput>;
}

@InputType()
export class GameUpdateWithoutClubInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StationUpdateManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUpdateManyWithoutGameInput>;
    @Field(() => GameDataUpdateOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUpdateOneWithoutGameInput>;
}

@InputType()
export class GameUpdateWithoutGameDataInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StationUpdateManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUpdateManyWithoutGameInput>;
    @Field(() => ClubUpdateOneRequiredWithoutGamesInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutGamesInput>;
}

@InputType()
export class GameUpdateWithoutStationsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => ClubUpdateOneRequiredWithoutGamesInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutGamesInput>;
    @Field(() => GameDataUpdateOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUpdateOneWithoutGameInput>;
}

@InputType()
export class GameUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    notes?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    sequence?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameMode?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameType?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    delayTime?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    gameDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    padLightUpTime?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    scheduledDate?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StationUpdateManyWithoutGameInput, {nullable:true})
    stations?: InstanceType<typeof StationUpdateManyWithoutGameInput>;
    @Field(() => ClubUpdateOneRequiredWithoutGamesInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutGamesInput>;
    @Field(() => GameDataUpdateOneWithoutGameInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUpdateOneWithoutGameInput>;
}

@InputType()
export class GameUpsertWithWhereUniqueWithoutClubInput {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameUpdateWithoutClubInput, {nullable:false})
    update!: InstanceType<typeof GameUpdateWithoutClubInput>;
    @Field(() => GameCreateWithoutClubInput, {nullable:false})
    create!: InstanceType<typeof GameCreateWithoutClubInput>;
}

@InputType()
export class GameUpsertWithoutGameDataInput {
    @Field(() => GameUpdateWithoutGameDataInput, {nullable:false})
    update!: InstanceType<typeof GameUpdateWithoutGameDataInput>;
    @Field(() => GameCreateWithoutGameDataInput, {nullable:false})
    create!: InstanceType<typeof GameCreateWithoutGameDataInput>;
}

@InputType()
export class GameUpsertWithoutStationsInput {
    @Field(() => GameUpdateWithoutStationsInput, {nullable:false})
    update!: InstanceType<typeof GameUpdateWithoutStationsInput>;
    @Field(() => GameCreateWithoutStationsInput, {nullable:false})
    create!: InstanceType<typeof GameCreateWithoutStationsInput>;
}

@InputType()
export class GameWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
}

@InputType()
export class GameWhereInput {
    @Field(() => [GameWhereInput], {nullable:true})
    AND?: Array<GameWhereInput>;
    @Field(() => [GameWhereInput], {nullable:true})
    OR?: Array<GameWhereInput>;
    @Field(() => [GameWhereInput], {nullable:true})
    NOT?: Array<GameWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    name?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    notes?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    sequence?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameMode?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameType?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameTime?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    delayTime?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    numPads?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameDescription?: InstanceType<typeof StringFilter>;
    @Field(() => StationListRelationFilter, {nullable:true})
    stations?: InstanceType<typeof StationListRelationFilter>;
    @Field(() => FloatFilter, {nullable:true})
    padLightUpTime?: InstanceType<typeof FloatFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    scheduledDate?: InstanceType<typeof DateTimeFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubId?: InstanceType<typeof StringFilter>;
    @Field(() => ClubRelationFilter, {nullable:true})
    club?: InstanceType<typeof ClubRelationFilter>;
    @Field(() => GameDataRelationFilter, {nullable:true})
    gameData?: InstanceType<typeof GameDataRelationFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@ObjectType()
export class Game {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    notes!: string;
    @Field(() => String, {nullable:true})
    sequence!: string | null;
    @Field(() => String, {nullable:true})
    gameMode!: string | null;
    @Field(() => String, {nullable:true})
    gameType!: string | null;
    @Field(() => String, {nullable:true})
    gameTime!: string | null;
    @Field(() => String, {nullable:true})
    delayTime!: string | null;
    @Field(() => Int, {nullable:true})
    numPads!: number | null;
    @Field(() => String, {nullable:true})
    gameDescription!: string | null;
    @Field(() => [Station], {nullable:true})
    stations?: Array<Station>;
    @Field(() => Float, {nullable:true})
    padLightUpTime!: number | null;
    @Field(() => Date, {nullable:true})
    scheduledDate!: Date | null;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Club, {nullable:false})
    club?: InstanceType<typeof Club>;
    @Field(() => GameData, {nullable:true})
    gameData?: InstanceType<typeof GameData> | null;
    @Field(() => Date, {nullable:false})
    createdAt!: Date;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date;
    @Field(() => GameCount, {nullable:false})
    _count?: InstanceType<typeof GameCount>;
}

@ArgsType()
export class UpdateManyGameArgs {
    @Field(() => GameUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof GameUpdateManyMutationInput>;
    @Field(() => GameWhereInput, {nullable:true})
    where?: InstanceType<typeof GameWhereInput>;
}

@ArgsType()
export class UpdateOneGameArgs {
    @Field(() => GameUpdateInput, {nullable:false})
    data!: InstanceType<typeof GameUpdateInput>;
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
}

@ArgsType()
export class UpsertOneGameArgs {
    @Field(() => GameWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameWhereUniqueInput>;
    @Field(() => GameCreateInput, {nullable:false})
    create!: InstanceType<typeof GameCreateInput>;
    @Field(() => GameUpdateInput, {nullable:false})
    update!: InstanceType<typeof GameUpdateInput>;
}

@ObjectType()
export class AggregateGameData {
    @Field(() => GameDataCountAggregate, {nullable:true})
    _count?: InstanceType<typeof GameDataCountAggregate>;
    @Field(() => GameDataAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof GameDataAvgAggregate>;
    @Field(() => GameDataSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof GameDataSumAggregate>;
    @Field(() => GameDataMinAggregate, {nullable:true})
    _min?: InstanceType<typeof GameDataMinAggregate>;
    @Field(() => GameDataMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof GameDataMaxAggregate>;
}

@ArgsType()
export class CreateManyGameDataArgs {
    @Field(() => [GameDataCreateManyInput], {nullable:false})
    data!: Array<GameDataCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOneGameDataArgs {
    @Field(() => GameDataCreateInput, {nullable:false})
    data!: InstanceType<typeof GameDataCreateInput>;
}

@ArgsType()
export class DeleteManyGameDataArgs {
    @Field(() => GameDataWhereInput, {nullable:true})
    where?: InstanceType<typeof GameDataWhereInput>;
}

@ArgsType()
export class DeleteOneGameDataArgs {
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
}

@ArgsType()
export class FindFirstGameDataArgs {
    @Field(() => GameDataWhereInput, {nullable:true})
    where?: InstanceType<typeof GameDataWhereInput>;
    @Field(() => [GameDataOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GameDataOrderByWithRelationInput>;
    @Field(() => GameDataWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [GameDataScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof GameDataScalarFieldEnum>;
}

@ArgsType()
export class FindManyGameDataArgs {
    @Field(() => GameDataWhereInput, {nullable:true})
    where?: InstanceType<typeof GameDataWhereInput>;
    @Field(() => [GameDataOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GameDataOrderByWithRelationInput>;
    @Field(() => GameDataWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [GameDataScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof GameDataScalarFieldEnum>;
}

@ArgsType()
export class FindUniqueGameDataArgs {
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
}

@ArgsType()
export class GameDataAggregateArgs {
    @Field(() => GameDataWhereInput, {nullable:true})
    where?: InstanceType<typeof GameDataWhereInput>;
    @Field(() => [GameDataOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GameDataOrderByWithRelationInput>;
    @Field(() => GameDataWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => GameDataCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GameDataCountAggregateInput>;
    @Field(() => GameDataAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GameDataAvgAggregateInput>;
    @Field(() => GameDataSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GameDataSumAggregateInput>;
    @Field(() => GameDataMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GameDataMinAggregateInput>;
    @Field(() => GameDataMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GameDataMaxAggregateInput>;
}

@InputType()
export class GameDataAvgAggregateInput {
    @Field(() => Boolean, {nullable:true})
    hits?: true;
    @Field(() => Boolean, {nullable:true})
    misses?: true;
    @Field(() => Boolean, {nullable:true})
    accuracy?: true;
}

@ObjectType()
export class GameDataAvgAggregate {
    @Field(() => Float, {nullable:true})
    hits?: number;
    @Field(() => Float, {nullable:true})
    misses?: number;
    @Field(() => Float, {nullable:true})
    accuracy?: number;
}

@InputType()
export class GameDataAvgOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    hits?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    misses?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    accuracy?: keyof typeof SortOrder;
}

@InputType()
export class GameDataCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    gameId?: true;
    @Field(() => Boolean, {nullable:true})
    hits?: true;
    @Field(() => Boolean, {nullable:true})
    misses?: true;
    @Field(() => Boolean, {nullable:true})
    accuracy?: true;
    @Field(() => Boolean, {nullable:true})
    timeSequence?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangement?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class GameDataCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    gameId!: number;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Int, {nullable:false})
    accuracy!: number;
    @Field(() => Int, {nullable:false})
    timeSequence!: number;
    @Field(() => Int, {nullable:false})
    padArrangement!: number;
    @Field(() => Int, {nullable:false})
    createdAt!: number;
    @Field(() => Int, {nullable:false})
    updatedAt!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class GameDataCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    hits?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    misses?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    accuracy?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    timeSequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangement?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@ObjectType()
export class GameDataCount {
    @Field(() => Int, {nullable:false})
    players!: number;
}

@InputType()
export class GameDataCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    gameId!: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameDataCreateNestedManyWithoutPlayersInput {
    @Field(() => [GameDataCreateWithoutPlayersInput], {nullable:true})
    create?: Array<GameDataCreateWithoutPlayersInput>;
    @Field(() => [GameDataCreateOrConnectWithoutPlayersInput], {nullable:true})
    connectOrCreate?: Array<GameDataCreateOrConnectWithoutPlayersInput>;
    @Field(() => [GameDataWhereUniqueInput], {nullable:true})
    connect?: Array<GameDataWhereUniqueInput>;
}

@InputType()
export class GameDataCreateNestedOneWithoutGameInput {
    @Field(() => GameDataCreateWithoutGameInput, {nullable:true})
    create?: InstanceType<typeof GameDataCreateWithoutGameInput>;
    @Field(() => GameDataCreateOrConnectWithoutGameInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameDataCreateOrConnectWithoutGameInput>;
    @Field(() => GameDataWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameDataWhereUniqueInput>;
}

@InputType()
export class GameDataCreateOrConnectWithoutGameInput {
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => GameDataCreateWithoutGameInput, {nullable:false})
    create!: InstanceType<typeof GameDataCreateWithoutGameInput>;
}

@InputType()
export class GameDataCreateOrConnectWithoutPlayersInput {
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => GameDataCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof GameDataCreateWithoutPlayersInput>;
}

@InputType()
export class GameDataCreateWithoutGameInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => PlayerCreateNestedManyWithoutGameDataInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutGameDataInput>;
}

@InputType()
export class GameDataCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => GameCreateNestedOneWithoutGameDataInput, {nullable:false})
    game!: InstanceType<typeof GameCreateNestedOneWithoutGameDataInput>;
}

@InputType()
export class GameDataCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => PlayerCreateNestedManyWithoutGameDataInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutGameDataInput>;
    @Field(() => GameCreateNestedOneWithoutGameDataInput, {nullable:false})
    game!: InstanceType<typeof GameCreateNestedOneWithoutGameDataInput>;
}

@ObjectType()
export class GameDataGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => String, {nullable:false})
    gameId!: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date | string;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date | string;
    @Field(() => GameDataCountAggregate, {nullable:true})
    _count?: InstanceType<typeof GameDataCountAggregate>;
    @Field(() => GameDataAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof GameDataAvgAggregate>;
    @Field(() => GameDataSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof GameDataSumAggregate>;
    @Field(() => GameDataMinAggregate, {nullable:true})
    _min?: InstanceType<typeof GameDataMinAggregate>;
    @Field(() => GameDataMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof GameDataMaxAggregate>;
}

@InputType()
export class GameDataListRelationFilter {
    @Field(() => GameDataWhereInput, {nullable:true})
    every?: InstanceType<typeof GameDataWhereInput>;
    @Field(() => GameDataWhereInput, {nullable:true})
    some?: InstanceType<typeof GameDataWhereInput>;
    @Field(() => GameDataWhereInput, {nullable:true})
    none?: InstanceType<typeof GameDataWhereInput>;
}

@InputType()
export class GameDataMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    gameId?: true;
    @Field(() => Boolean, {nullable:true})
    hits?: true;
    @Field(() => Boolean, {nullable:true})
    misses?: true;
    @Field(() => Boolean, {nullable:true})
    accuracy?: true;
    @Field(() => Boolean, {nullable:true})
    timeSequence?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangement?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class GameDataMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    gameId?: string;
    @Field(() => Int, {nullable:true})
    hits?: number;
    @Field(() => Int, {nullable:true})
    misses?: number;
    @Field(() => Float, {nullable:true})
    accuracy?: number;
    @Field(() => String, {nullable:true})
    timeSequence?: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameDataMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    hits?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    misses?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    accuracy?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    timeSequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangement?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GameDataMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    gameId?: true;
    @Field(() => Boolean, {nullable:true})
    hits?: true;
    @Field(() => Boolean, {nullable:true})
    misses?: true;
    @Field(() => Boolean, {nullable:true})
    accuracy?: true;
    @Field(() => Boolean, {nullable:true})
    timeSequence?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangement?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class GameDataMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    gameId?: string;
    @Field(() => Int, {nullable:true})
    hits?: number;
    @Field(() => Int, {nullable:true})
    misses?: number;
    @Field(() => Float, {nullable:true})
    accuracy?: number;
    @Field(() => String, {nullable:true})
    timeSequence?: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameDataMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    hits?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    misses?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    accuracy?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    timeSequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangement?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GameDataOrderByRelationAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    _count?: keyof typeof SortOrder;
}

@InputType()
export class GameDataOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    hits?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    misses?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    accuracy?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    timeSequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangement?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => GameDataCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GameDataCountOrderByAggregateInput>;
    @Field(() => GameDataAvgOrderByAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GameDataAvgOrderByAggregateInput>;
    @Field(() => GameDataMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GameDataMaxOrderByAggregateInput>;
    @Field(() => GameDataMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GameDataMinOrderByAggregateInput>;
    @Field(() => GameDataSumOrderByAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GameDataSumOrderByAggregateInput>;
}

@InputType()
export class GameDataOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => PlayerOrderByRelationAggregateInput, {nullable:true})
    players?: InstanceType<typeof PlayerOrderByRelationAggregateInput>;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
    @Field(() => GameOrderByWithRelationInput, {nullable:true})
    game?: InstanceType<typeof GameOrderByWithRelationInput>;
    @Field(() => SortOrder, {nullable:true})
    hits?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    misses?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    accuracy?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    timeSequence?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangement?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GameDataRelationFilter {
    @Field(() => GameDataWhereInput, {nullable:true})
    is?: InstanceType<typeof GameDataWhereInput>;
    @Field(() => GameDataWhereInput, {nullable:true})
    isNot?: InstanceType<typeof GameDataWhereInput>;
}

@InputType()
export class GameDataScalarWhereWithAggregatesInput {
    @Field(() => [GameDataScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<GameDataScalarWhereWithAggregatesInput>;
    @Field(() => [GameDataScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<GameDataScalarWhereWithAggregatesInput>;
    @Field(() => [GameDataScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<GameDataScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    gameId?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    hits?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    misses?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => FloatWithAggregatesFilter, {nullable:true})
    accuracy?: InstanceType<typeof FloatWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    timeSequence?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    padArrangement?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
}

@InputType()
export class GameDataScalarWhereInput {
    @Field(() => [GameDataScalarWhereInput], {nullable:true})
    AND?: Array<GameDataScalarWhereInput>;
    @Field(() => [GameDataScalarWhereInput], {nullable:true})
    OR?: Array<GameDataScalarWhereInput>;
    @Field(() => [GameDataScalarWhereInput], {nullable:true})
    NOT?: Array<GameDataScalarWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameId?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    hits?: InstanceType<typeof IntFilter>;
    @Field(() => IntFilter, {nullable:true})
    misses?: InstanceType<typeof IntFilter>;
    @Field(() => FloatFilter, {nullable:true})
    accuracy?: InstanceType<typeof FloatFilter>;
    @Field(() => StringFilter, {nullable:true})
    timeSequence?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    padArrangement?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@InputType()
export class GameDataSumAggregateInput {
    @Field(() => Boolean, {nullable:true})
    hits?: true;
    @Field(() => Boolean, {nullable:true})
    misses?: true;
    @Field(() => Boolean, {nullable:true})
    accuracy?: true;
}

@ObjectType()
export class GameDataSumAggregate {
    @Field(() => Int, {nullable:true})
    hits?: number;
    @Field(() => Int, {nullable:true})
    misses?: number;
    @Field(() => Float, {nullable:true})
    accuracy?: number;
}

@InputType()
export class GameDataSumOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    hits?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    misses?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    accuracy?: keyof typeof SortOrder;
}

@InputType()
export class GameDataUncheckedCreateNestedOneWithoutGameInput {
    @Field(() => GameDataCreateWithoutGameInput, {nullable:true})
    create?: InstanceType<typeof GameDataCreateWithoutGameInput>;
    @Field(() => GameDataCreateOrConnectWithoutGameInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameDataCreateOrConnectWithoutGameInput>;
    @Field(() => GameDataWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameDataWhereUniqueInput>;
}

@InputType()
export class GameDataUncheckedCreateWithoutGameInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameDataUncheckedCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    gameId!: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameDataUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    gameId!: string;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GameDataUncheckedUpdateManyWithoutGameDataInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    gameId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameDataUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    gameId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameDataUncheckedUpdateOneWithoutGameInput {
    @Field(() => GameDataCreateWithoutGameInput, {nullable:true})
    create?: InstanceType<typeof GameDataCreateWithoutGameInput>;
    @Field(() => GameDataCreateOrConnectWithoutGameInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameDataCreateOrConnectWithoutGameInput>;
    @Field(() => GameDataUpsertWithoutGameInput, {nullable:true})
    upsert?: InstanceType<typeof GameDataUpsertWithoutGameInput>;
    @Field(() => Boolean, {nullable:true})
    disconnect?: boolean;
    @Field(() => Boolean, {nullable:true})
    delete?: boolean;
    @Field(() => GameDataWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => GameDataUpdateWithoutGameInput, {nullable:true})
    update?: InstanceType<typeof GameDataUpdateWithoutGameInput>;
}

@InputType()
export class GameDataUncheckedUpdateWithoutGameInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameDataUncheckedUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    gameId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameDataUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    gameId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameDataUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GameDataUpdateManyWithWhereWithoutPlayersInput {
    @Field(() => GameDataScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof GameDataScalarWhereInput>;
    @Field(() => GameDataUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof GameDataUpdateManyMutationInput>;
}

@InputType()
export class GameDataUpdateManyWithoutPlayersInput {
    @Field(() => [GameDataCreateWithoutPlayersInput], {nullable:true})
    create?: Array<GameDataCreateWithoutPlayersInput>;
    @Field(() => [GameDataCreateOrConnectWithoutPlayersInput], {nullable:true})
    connectOrCreate?: Array<GameDataCreateOrConnectWithoutPlayersInput>;
    @Field(() => [GameDataUpsertWithWhereUniqueWithoutPlayersInput], {nullable:true})
    upsert?: Array<GameDataUpsertWithWhereUniqueWithoutPlayersInput>;
    @Field(() => [GameDataWhereUniqueInput], {nullable:true})
    set?: Array<GameDataWhereUniqueInput>;
    @Field(() => [GameDataWhereUniqueInput], {nullable:true})
    disconnect?: Array<GameDataWhereUniqueInput>;
    @Field(() => [GameDataWhereUniqueInput], {nullable:true})
    delete?: Array<GameDataWhereUniqueInput>;
    @Field(() => [GameDataWhereUniqueInput], {nullable:true})
    connect?: Array<GameDataWhereUniqueInput>;
    @Field(() => [GameDataUpdateWithWhereUniqueWithoutPlayersInput], {nullable:true})
    update?: Array<GameDataUpdateWithWhereUniqueWithoutPlayersInput>;
    @Field(() => [GameDataUpdateManyWithWhereWithoutPlayersInput], {nullable:true})
    updateMany?: Array<GameDataUpdateManyWithWhereWithoutPlayersInput>;
    @Field(() => [GameDataScalarWhereInput], {nullable:true})
    deleteMany?: Array<GameDataScalarWhereInput>;
}

@InputType()
export class GameDataUpdateOneWithoutGameInput {
    @Field(() => GameDataCreateWithoutGameInput, {nullable:true})
    create?: InstanceType<typeof GameDataCreateWithoutGameInput>;
    @Field(() => GameDataCreateOrConnectWithoutGameInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GameDataCreateOrConnectWithoutGameInput>;
    @Field(() => GameDataUpsertWithoutGameInput, {nullable:true})
    upsert?: InstanceType<typeof GameDataUpsertWithoutGameInput>;
    @Field(() => Boolean, {nullable:true})
    disconnect?: boolean;
    @Field(() => Boolean, {nullable:true})
    delete?: boolean;
    @Field(() => GameDataWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => GameDataUpdateWithoutGameInput, {nullable:true})
    update?: InstanceType<typeof GameDataUpdateWithoutGameInput>;
}

@InputType()
export class GameDataUpdateWithWhereUniqueWithoutPlayersInput {
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => GameDataUpdateWithoutPlayersInput, {nullable:false})
    data!: InstanceType<typeof GameDataUpdateWithoutPlayersInput>;
}

@InputType()
export class GameDataUpdateWithoutGameInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => PlayerUpdateManyWithoutGameDataInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutGameDataInput>;
}

@InputType()
export class GameDataUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => GameUpdateOneRequiredWithoutGameDataInput, {nullable:true})
    game?: InstanceType<typeof GameUpdateOneRequiredWithoutGameDataInput>;
}

@InputType()
export class GameDataUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    hits?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    misses?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => FloatFieldUpdateOperationsInput, {nullable:true})
    accuracy?: InstanceType<typeof FloatFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    timeSequence?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangement?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => PlayerUpdateManyWithoutGameDataInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutGameDataInput>;
    @Field(() => GameUpdateOneRequiredWithoutGameDataInput, {nullable:true})
    game?: InstanceType<typeof GameUpdateOneRequiredWithoutGameDataInput>;
}

@InputType()
export class GameDataUpsertWithWhereUniqueWithoutPlayersInput {
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => GameDataUpdateWithoutPlayersInput, {nullable:false})
    update!: InstanceType<typeof GameDataUpdateWithoutPlayersInput>;
    @Field(() => GameDataCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof GameDataCreateWithoutPlayersInput>;
}

@InputType()
export class GameDataUpsertWithoutGameInput {
    @Field(() => GameDataUpdateWithoutGameInput, {nullable:false})
    update!: InstanceType<typeof GameDataUpdateWithoutGameInput>;
    @Field(() => GameDataCreateWithoutGameInput, {nullable:false})
    create!: InstanceType<typeof GameDataCreateWithoutGameInput>;
}

@InputType()
export class GameDataWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    gameId?: string;
}

@InputType()
export class GameDataWhereInput {
    @Field(() => [GameDataWhereInput], {nullable:true})
    AND?: Array<GameDataWhereInput>;
    @Field(() => [GameDataWhereInput], {nullable:true})
    OR?: Array<GameDataWhereInput>;
    @Field(() => [GameDataWhereInput], {nullable:true})
    NOT?: Array<GameDataWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => PlayerListRelationFilter, {nullable:true})
    players?: InstanceType<typeof PlayerListRelationFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameId?: InstanceType<typeof StringFilter>;
    @Field(() => GameRelationFilter, {nullable:true})
    game?: InstanceType<typeof GameRelationFilter>;
    @Field(() => IntFilter, {nullable:true})
    hits?: InstanceType<typeof IntFilter>;
    @Field(() => IntFilter, {nullable:true})
    misses?: InstanceType<typeof IntFilter>;
    @Field(() => FloatFilter, {nullable:true})
    accuracy?: InstanceType<typeof FloatFilter>;
    @Field(() => StringFilter, {nullable:true})
    timeSequence?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    padArrangement?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@ObjectType()
export class GameData {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => [Player], {nullable:true})
    players?: Array<Player>;
    @Field(() => String, {nullable:false})
    gameId!: string;
    @Field(() => Game, {nullable:false})
    game?: InstanceType<typeof Game>;
    @Field(() => Int, {nullable:false})
    hits!: number;
    @Field(() => Int, {nullable:false})
    misses!: number;
    @Field(() => Float, {nullable:false})
    accuracy!: number;
    @Field(() => String, {nullable:false})
    timeSequence!: string;
    @Field(() => String, {nullable:true})
    padArrangement!: string | null;
    @Field(() => Date, {nullable:false})
    createdAt!: Date;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date;
    @Field(() => GameDataCount, {nullable:false})
    _count?: InstanceType<typeof GameDataCount>;
}

@ArgsType()
export class UpdateManyGameDataArgs {
    @Field(() => GameDataUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof GameDataUpdateManyMutationInput>;
    @Field(() => GameDataWhereInput, {nullable:true})
    where?: InstanceType<typeof GameDataWhereInput>;
}

@ArgsType()
export class UpdateOneGameDataArgs {
    @Field(() => GameDataUpdateInput, {nullable:false})
    data!: InstanceType<typeof GameDataUpdateInput>;
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
}

@ArgsType()
export class UpsertOneGameDataArgs {
    @Field(() => GameDataWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GameDataWhereUniqueInput>;
    @Field(() => GameDataCreateInput, {nullable:false})
    create!: InstanceType<typeof GameDataCreateInput>;
    @Field(() => GameDataUpdateInput, {nullable:false})
    update!: InstanceType<typeof GameDataUpdateInput>;
}

@ObjectType()
export class AggregateGroup {
    @Field(() => GroupCountAggregate, {nullable:true})
    _count?: InstanceType<typeof GroupCountAggregate>;
    @Field(() => GroupAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof GroupAvgAggregate>;
    @Field(() => GroupSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof GroupSumAggregate>;
    @Field(() => GroupMinAggregate, {nullable:true})
    _min?: InstanceType<typeof GroupMinAggregate>;
    @Field(() => GroupMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof GroupMaxAggregate>;
}

@ArgsType()
export class CreateManyGroupArgs {
    @Field(() => [GroupCreateManyInput], {nullable:false})
    data!: Array<GroupCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOneGroupArgs {
    @Field(() => GroupCreateInput, {nullable:false})
    data!: InstanceType<typeof GroupCreateInput>;
}

@ArgsType()
export class DeleteManyGroupArgs {
    @Field(() => GroupWhereInput, {nullable:true})
    where?: InstanceType<typeof GroupWhereInput>;
}

@ArgsType()
export class DeleteOneGroupArgs {
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
}

@ArgsType()
export class FindFirstGroupArgs {
    @Field(() => GroupWhereInput, {nullable:true})
    where?: InstanceType<typeof GroupWhereInput>;
    @Field(() => [GroupOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GroupOrderByWithRelationInput>;
    @Field(() => GroupWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [GroupScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof GroupScalarFieldEnum>;
}

@ArgsType()
export class FindManyGroupArgs {
    @Field(() => GroupWhereInput, {nullable:true})
    where?: InstanceType<typeof GroupWhereInput>;
    @Field(() => [GroupOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GroupOrderByWithRelationInput>;
    @Field(() => GroupWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [GroupScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof GroupScalarFieldEnum>;
}

@ArgsType()
export class FindUniqueGroupArgs {
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
}

@ArgsType()
export class GroupAggregateArgs {
    @Field(() => GroupWhereInput, {nullable:true})
    where?: InstanceType<typeof GroupWhereInput>;
    @Field(() => [GroupOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<GroupOrderByWithRelationInput>;
    @Field(() => GroupWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => GroupCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GroupCountAggregateInput>;
    @Field(() => GroupAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GroupAvgAggregateInput>;
    @Field(() => GroupSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GroupSumAggregateInput>;
    @Field(() => GroupMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GroupMinAggregateInput>;
    @Field(() => GroupMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GroupMaxAggregateInput>;
}

@InputType()
export class GroupAvgAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
}

@ObjectType()
export class GroupAvgAggregate {
    @Field(() => Float, {nullable:true})
    phoneId?: number;
}

@InputType()
export class GroupAvgOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
}

@ArgsType()
export class GroupByGameDataArgs {
    @Field(() => GameDataWhereInput, {nullable:true})
    where?: InstanceType<typeof GameDataWhereInput>;
    @Field(() => [GameDataOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<GameDataOrderByWithAggregationInput>;
    @Field(() => [GameDataScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof GameDataScalarFieldEnum>;
    @Field(() => GameDataScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof GameDataScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
}

@ArgsType()
export class GroupByPlayerArgs {
    @Field(() => PlayerWhereInput, {nullable:true})
    where?: InstanceType<typeof PlayerWhereInput>;
    @Field(() => [PlayerOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<PlayerOrderByWithAggregationInput>;
    @Field(() => [PlayerScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof PlayerScalarFieldEnum>;
    @Field(() => PlayerScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof PlayerScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
}

@ArgsType()
export class GroupByStationArgs {
    @Field(() => StationWhereInput, {nullable:true})
    where?: InstanceType<typeof StationWhereInput>;
    @Field(() => [StationOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<StationOrderByWithAggregationInput>;
    @Field(() => [StationScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof StationScalarFieldEnum>;
    @Field(() => StationScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof StationScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
}

@InputType()
export class GroupCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    name?: true;
    @Field(() => Boolean, {nullable:true})
    description?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class GroupCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => Int, {nullable:false})
    name!: number;
    @Field(() => Int, {nullable:false})
    description!: number;
    @Field(() => Int, {nullable:false})
    clubId!: number;
    @Field(() => Int, {nullable:false})
    createdAt!: number;
    @Field(() => Int, {nullable:false})
    updatedAt!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class GroupCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    description?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@ObjectType()
export class GroupCount {
    @Field(() => Int, {nullable:false})
    players!: number;
}

@InputType()
export class GroupCreateManyClubInputEnvelope {
    @Field(() => [GroupCreateManyClubInput], {nullable:false})
    data!: Array<GroupCreateManyClubInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@InputType()
export class GroupCreateManyClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GroupCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GroupCreateNestedManyWithoutClubInput {
    @Field(() => [GroupCreateWithoutClubInput], {nullable:true})
    create?: Array<GroupCreateWithoutClubInput>;
    @Field(() => [GroupCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GroupCreateOrConnectWithoutClubInput>;
    @Field(() => GroupCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GroupCreateManyClubInputEnvelope>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    connect?: Array<GroupWhereUniqueInput>;
}

@InputType()
export class GroupCreateNestedOneWithoutPlayersInput {
    @Field(() => GroupCreateWithoutPlayersInput, {nullable:true})
    create?: InstanceType<typeof GroupCreateWithoutPlayersInput>;
    @Field(() => GroupCreateOrConnectWithoutPlayersInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GroupCreateOrConnectWithoutPlayersInput>;
    @Field(() => GroupWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GroupWhereUniqueInput>;
}

@InputType()
export class GroupCreateOrConnectWithoutClubInput {
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => GroupCreateWithoutClubInput, {nullable:false})
    create!: InstanceType<typeof GroupCreateWithoutClubInput>;
}

@InputType()
export class GroupCreateOrConnectWithoutPlayersInput {
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => GroupCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof GroupCreateWithoutPlayersInput>;
}

@InputType()
export class GroupCreateWithoutClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => PlayerCreateNestedManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutGroupInput>;
}

@InputType()
export class GroupCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => ClubCreateNestedOneWithoutGroupsInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutGroupsInput>;
}

@InputType()
export class GroupCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => ClubCreateNestedOneWithoutGroupsInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutGroupsInput>;
    @Field(() => PlayerCreateNestedManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutGroupInput>;
}

@ArgsType()
export class GroupGroupByArgs {
    @Field(() => GroupWhereInput, {nullable:true})
    where?: InstanceType<typeof GroupWhereInput>;
    @Field(() => [GroupOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<GroupOrderByWithAggregationInput>;
    @Field(() => [GroupScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof GroupScalarFieldEnum>;
    @Field(() => GroupScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof GroupScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => GroupCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GroupCountAggregateInput>;
    @Field(() => GroupAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GroupAvgAggregateInput>;
    @Field(() => GroupSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GroupSumAggregateInput>;
    @Field(() => GroupMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GroupMinAggregateInput>;
    @Field(() => GroupMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GroupMaxAggregateInput>;
}

@ObjectType()
export class GroupGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date | string;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date | string;
    @Field(() => GroupCountAggregate, {nullable:true})
    _count?: InstanceType<typeof GroupCountAggregate>;
    @Field(() => GroupAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof GroupAvgAggregate>;
    @Field(() => GroupSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof GroupSumAggregate>;
    @Field(() => GroupMinAggregate, {nullable:true})
    _min?: InstanceType<typeof GroupMinAggregate>;
    @Field(() => GroupMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof GroupMaxAggregate>;
}

@InputType()
export class GroupListRelationFilter {
    @Field(() => GroupWhereInput, {nullable:true})
    every?: InstanceType<typeof GroupWhereInput>;
    @Field(() => GroupWhereInput, {nullable:true})
    some?: InstanceType<typeof GroupWhereInput>;
    @Field(() => GroupWhereInput, {nullable:true})
    none?: InstanceType<typeof GroupWhereInput>;
}

@InputType()
export class GroupMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    name?: true;
    @Field(() => Boolean, {nullable:true})
    description?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class GroupMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    name?: string;
    @Field(() => String, {nullable:true})
    description?: string;
    @Field(() => String, {nullable:true})
    clubId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GroupMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    description?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GroupMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    name?: true;
    @Field(() => Boolean, {nullable:true})
    description?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
}

@ObjectType()
export class GroupMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    name?: string;
    @Field(() => String, {nullable:true})
    description?: string;
    @Field(() => String, {nullable:true})
    clubId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GroupMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    description?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GroupOrderByRelationAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    _count?: keyof typeof SortOrder;
}

@InputType()
export class GroupOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    description?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => GroupCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof GroupCountOrderByAggregateInput>;
    @Field(() => GroupAvgOrderByAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof GroupAvgOrderByAggregateInput>;
    @Field(() => GroupMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof GroupMaxOrderByAggregateInput>;
    @Field(() => GroupMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof GroupMinOrderByAggregateInput>;
    @Field(() => GroupSumOrderByAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof GroupSumOrderByAggregateInput>;
}

@InputType()
export class GroupOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    name?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    description?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => ClubOrderByWithRelationInput, {nullable:true})
    club?: InstanceType<typeof ClubOrderByWithRelationInput>;
    @Field(() => PlayerOrderByRelationAggregateInput, {nullable:true})
    players?: InstanceType<typeof PlayerOrderByRelationAggregateInput>;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
}

@InputType()
export class GroupRelationFilter {
    @Field(() => GroupWhereInput, {nullable:true})
    is?: InstanceType<typeof GroupWhereInput>;
    @Field(() => GroupWhereInput, {nullable:true})
    isNot?: InstanceType<typeof GroupWhereInput>;
}

@InputType()
export class GroupScalarWhereWithAggregatesInput {
    @Field(() => [GroupScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<GroupScalarWhereWithAggregatesInput>;
    @Field(() => [GroupScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<GroupScalarWhereWithAggregatesInput>;
    @Field(() => [GroupScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<GroupScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    name?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    description?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    clubId?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
}

@InputType()
export class GroupScalarWhereInput {
    @Field(() => [GroupScalarWhereInput], {nullable:true})
    AND?: Array<GroupScalarWhereInput>;
    @Field(() => [GroupScalarWhereInput], {nullable:true})
    OR?: Array<GroupScalarWhereInput>;
    @Field(() => [GroupScalarWhereInput], {nullable:true})
    NOT?: Array<GroupScalarWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    name?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    description?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubId?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@InputType()
export class GroupSumAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
}

@ObjectType()
export class GroupSumAggregate {
    @Field(() => Int, {nullable:true})
    phoneId?: number;
}

@InputType()
export class GroupSumOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
}

@InputType()
export class GroupUncheckedCreateNestedManyWithoutClubInput {
    @Field(() => [GroupCreateWithoutClubInput], {nullable:true})
    create?: Array<GroupCreateWithoutClubInput>;
    @Field(() => [GroupCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GroupCreateOrConnectWithoutClubInput>;
    @Field(() => GroupCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GroupCreateManyClubInputEnvelope>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    connect?: Array<GroupWhereUniqueInput>;
}

@InputType()
export class GroupUncheckedCreateWithoutClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutGroupInput>;
}

@InputType()
export class GroupUncheckedCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class GroupUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutGroupInput>;
}

@InputType()
export class GroupUncheckedUpdateManyWithoutClubInput {
    @Field(() => [GroupCreateWithoutClubInput], {nullable:true})
    create?: Array<GroupCreateWithoutClubInput>;
    @Field(() => [GroupCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GroupCreateOrConnectWithoutClubInput>;
    @Field(() => [GroupUpsertWithWhereUniqueWithoutClubInput], {nullable:true})
    upsert?: Array<GroupUpsertWithWhereUniqueWithoutClubInput>;
    @Field(() => GroupCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GroupCreateManyClubInputEnvelope>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    set?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    disconnect?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    delete?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    connect?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupUpdateWithWhereUniqueWithoutClubInput], {nullable:true})
    update?: Array<GroupUpdateWithWhereUniqueWithoutClubInput>;
    @Field(() => [GroupUpdateManyWithWhereWithoutClubInput], {nullable:true})
    updateMany?: Array<GroupUpdateManyWithWhereWithoutClubInput>;
    @Field(() => [GroupScalarWhereInput], {nullable:true})
    deleteMany?: Array<GroupScalarWhereInput>;
}

@InputType()
export class GroupUncheckedUpdateManyWithoutGroupsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GroupUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GroupUncheckedUpdateWithoutClubInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutGroupInput>;
}

@InputType()
export class GroupUncheckedUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GroupUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutGroupInput>;
}

@InputType()
export class GroupUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class GroupUpdateManyWithWhereWithoutClubInput {
    @Field(() => GroupScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof GroupScalarWhereInput>;
    @Field(() => GroupUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof GroupUpdateManyMutationInput>;
}

@InputType()
export class GroupUpdateManyWithoutClubInput {
    @Field(() => [GroupCreateWithoutClubInput], {nullable:true})
    create?: Array<GroupCreateWithoutClubInput>;
    @Field(() => [GroupCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<GroupCreateOrConnectWithoutClubInput>;
    @Field(() => [GroupUpsertWithWhereUniqueWithoutClubInput], {nullable:true})
    upsert?: Array<GroupUpsertWithWhereUniqueWithoutClubInput>;
    @Field(() => GroupCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof GroupCreateManyClubInputEnvelope>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    set?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    disconnect?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    delete?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupWhereUniqueInput], {nullable:true})
    connect?: Array<GroupWhereUniqueInput>;
    @Field(() => [GroupUpdateWithWhereUniqueWithoutClubInput], {nullable:true})
    update?: Array<GroupUpdateWithWhereUniqueWithoutClubInput>;
    @Field(() => [GroupUpdateManyWithWhereWithoutClubInput], {nullable:true})
    updateMany?: Array<GroupUpdateManyWithWhereWithoutClubInput>;
    @Field(() => [GroupScalarWhereInput], {nullable:true})
    deleteMany?: Array<GroupScalarWhereInput>;
}

@InputType()
export class GroupUpdateOneWithoutPlayersInput {
    @Field(() => GroupCreateWithoutPlayersInput, {nullable:true})
    create?: InstanceType<typeof GroupCreateWithoutPlayersInput>;
    @Field(() => GroupCreateOrConnectWithoutPlayersInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof GroupCreateOrConnectWithoutPlayersInput>;
    @Field(() => GroupUpsertWithoutPlayersInput, {nullable:true})
    upsert?: InstanceType<typeof GroupUpsertWithoutPlayersInput>;
    @Field(() => Boolean, {nullable:true})
    disconnect?: boolean;
    @Field(() => Boolean, {nullable:true})
    delete?: boolean;
    @Field(() => GroupWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => GroupUpdateWithoutPlayersInput, {nullable:true})
    update?: InstanceType<typeof GroupUpdateWithoutPlayersInput>;
}

@InputType()
export class GroupUpdateWithWhereUniqueWithoutClubInput {
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => GroupUpdateWithoutClubInput, {nullable:false})
    data!: InstanceType<typeof GroupUpdateWithoutClubInput>;
}

@InputType()
export class GroupUpdateWithoutClubInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => PlayerUpdateManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutGroupInput>;
}

@InputType()
export class GroupUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => ClubUpdateOneRequiredWithoutGroupsInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutGroupsInput>;
}

@InputType()
export class GroupUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    name?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    description?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => ClubUpdateOneRequiredWithoutGroupsInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutGroupsInput>;
    @Field(() => PlayerUpdateManyWithoutGroupInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutGroupInput>;
}

@InputType()
export class GroupUpsertWithWhereUniqueWithoutClubInput {
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => GroupUpdateWithoutClubInput, {nullable:false})
    update!: InstanceType<typeof GroupUpdateWithoutClubInput>;
    @Field(() => GroupCreateWithoutClubInput, {nullable:false})
    create!: InstanceType<typeof GroupCreateWithoutClubInput>;
}

@InputType()
export class GroupUpsertWithoutPlayersInput {
    @Field(() => GroupUpdateWithoutPlayersInput, {nullable:false})
    update!: InstanceType<typeof GroupUpdateWithoutPlayersInput>;
    @Field(() => GroupCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof GroupCreateWithoutPlayersInput>;
}

@InputType()
export class GroupWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
}

@InputType()
export class GroupWhereInput {
    @Field(() => [GroupWhereInput], {nullable:true})
    AND?: Array<GroupWhereInput>;
    @Field(() => [GroupWhereInput], {nullable:true})
    OR?: Array<GroupWhereInput>;
    @Field(() => [GroupWhereInput], {nullable:true})
    NOT?: Array<GroupWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    name?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    description?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubId?: InstanceType<typeof StringFilter>;
    @Field(() => ClubRelationFilter, {nullable:true})
    club?: InstanceType<typeof ClubRelationFilter>;
    @Field(() => PlayerListRelationFilter, {nullable:true})
    players?: InstanceType<typeof PlayerListRelationFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
}

@ObjectType()
export class Group {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    name!: string;
    @Field(() => String, {nullable:false})
    description!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Club, {nullable:false})
    club?: InstanceType<typeof Club>;
    @Field(() => [Player], {nullable:true})
    players?: Array<Player>;
    @Field(() => Date, {nullable:false})
    createdAt!: Date;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date;
    @Field(() => GroupCount, {nullable:false})
    _count?: InstanceType<typeof GroupCount>;
}

@ArgsType()
export class UpdateManyGroupArgs {
    @Field(() => GroupUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof GroupUpdateManyMutationInput>;
    @Field(() => GroupWhereInput, {nullable:true})
    where?: InstanceType<typeof GroupWhereInput>;
}

@ArgsType()
export class UpdateOneGroupArgs {
    @Field(() => GroupUpdateInput, {nullable:false})
    data!: InstanceType<typeof GroupUpdateInput>;
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
}

@ArgsType()
export class UpsertOneGroupArgs {
    @Field(() => GroupWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof GroupWhereUniqueInput>;
    @Field(() => GroupCreateInput, {nullable:false})
    create!: InstanceType<typeof GroupCreateInput>;
    @Field(() => GroupUpdateInput, {nullable:false})
    update!: InstanceType<typeof GroupUpdateInput>;
}

@ObjectType()
export class AggregatePasswordReset {
    @Field(() => PasswordResetCountAggregate, {nullable:true})
    _count?: InstanceType<typeof PasswordResetCountAggregate>;
    @Field(() => PasswordResetMinAggregate, {nullable:true})
    _min?: InstanceType<typeof PasswordResetMinAggregate>;
    @Field(() => PasswordResetMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof PasswordResetMaxAggregate>;
}

@ArgsType()
export class CreateManyPasswordResetArgs {
    @Field(() => [PasswordResetCreateManyInput], {nullable:false})
    data!: Array<PasswordResetCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOnePasswordResetArgs {
    @Field(() => PasswordResetCreateInput, {nullable:false})
    data!: InstanceType<typeof PasswordResetCreateInput>;
}

@ArgsType()
export class DeleteManyPasswordResetArgs {
    @Field(() => PasswordResetWhereInput, {nullable:true})
    where?: InstanceType<typeof PasswordResetWhereInput>;
}

@ArgsType()
export class DeleteOnePasswordResetArgs {
    @Field(() => PasswordResetWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PasswordResetWhereUniqueInput>;
}

@ArgsType()
export class FindFirstPasswordResetArgs {
    @Field(() => PasswordResetWhereInput, {nullable:true})
    where?: InstanceType<typeof PasswordResetWhereInput>;
    @Field(() => [PasswordResetOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<PasswordResetOrderByWithRelationInput>;
    @Field(() => PasswordResetWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof PasswordResetWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [PasswordResetScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof PasswordResetScalarFieldEnum>;
}

@ArgsType()
export class FindManyPasswordResetArgs {
    @Field(() => PasswordResetWhereInput, {nullable:true})
    where?: InstanceType<typeof PasswordResetWhereInput>;
    @Field(() => [PasswordResetOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<PasswordResetOrderByWithRelationInput>;
    @Field(() => PasswordResetWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof PasswordResetWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [PasswordResetScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof PasswordResetScalarFieldEnum>;
}

@ArgsType()
export class FindUniquePasswordResetArgs {
    @Field(() => PasswordResetWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PasswordResetWhereUniqueInput>;
}

@ArgsType()
export class PasswordResetAggregateArgs {
    @Field(() => PasswordResetWhereInput, {nullable:true})
    where?: InstanceType<typeof PasswordResetWhereInput>;
    @Field(() => [PasswordResetOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<PasswordResetOrderByWithRelationInput>;
    @Field(() => PasswordResetWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof PasswordResetWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => PasswordResetCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof PasswordResetCountAggregateInput>;
    @Field(() => PasswordResetMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof PasswordResetMinAggregateInput>;
    @Field(() => PasswordResetMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof PasswordResetMaxAggregateInput>;
}

@InputType()
export class PasswordResetCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    token?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class PasswordResetCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    email!: number;
    @Field(() => Int, {nullable:false})
    token!: number;
    @Field(() => Int, {nullable:false})
    createdAt!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class PasswordResetCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    token?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
}

@InputType()
export class PasswordResetCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    token!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
}

@InputType()
export class PasswordResetCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    token!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
}

@ArgsType()
export class PasswordResetGroupByArgs {
    @Field(() => PasswordResetWhereInput, {nullable:true})
    where?: InstanceType<typeof PasswordResetWhereInput>;
    @Field(() => [PasswordResetOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<PasswordResetOrderByWithAggregationInput>;
    @Field(() => [PasswordResetScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof PasswordResetScalarFieldEnum>;
    @Field(() => PasswordResetScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof PasswordResetScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => PasswordResetCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof PasswordResetCountAggregateInput>;
    @Field(() => PasswordResetMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof PasswordResetMinAggregateInput>;
    @Field(() => PasswordResetMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof PasswordResetMaxAggregateInput>;
}

@ObjectType()
export class PasswordResetGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    token!: string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date | string;
    @Field(() => PasswordResetCountAggregate, {nullable:true})
    _count?: InstanceType<typeof PasswordResetCountAggregate>;
    @Field(() => PasswordResetMinAggregate, {nullable:true})
    _min?: InstanceType<typeof PasswordResetMinAggregate>;
    @Field(() => PasswordResetMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof PasswordResetMaxAggregate>;
}

@InputType()
export class PasswordResetMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    token?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
}

@ObjectType()
export class PasswordResetMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    email?: string;
    @Field(() => String, {nullable:true})
    token?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
}

@InputType()
export class PasswordResetMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    token?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
}

@InputType()
export class PasswordResetMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    token?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
}

@ObjectType()
export class PasswordResetMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    email?: string;
    @Field(() => String, {nullable:true})
    token?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
}

@InputType()
export class PasswordResetMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    token?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
}

@InputType()
export class PasswordResetOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    token?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => PasswordResetCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof PasswordResetCountOrderByAggregateInput>;
    @Field(() => PasswordResetMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof PasswordResetMaxOrderByAggregateInput>;
    @Field(() => PasswordResetMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof PasswordResetMinOrderByAggregateInput>;
}

@InputType()
export class PasswordResetOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    token?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
}

@InputType()
export class PasswordResetScalarWhereWithAggregatesInput {
    @Field(() => [PasswordResetScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<PasswordResetScalarWhereWithAggregatesInput>;
    @Field(() => [PasswordResetScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<PasswordResetScalarWhereWithAggregatesInput>;
    @Field(() => [PasswordResetScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<PasswordResetScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    email?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    token?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
}

@InputType()
export class PasswordResetUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    token!: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
}

@InputType()
export class PasswordResetUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    token?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class PasswordResetUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    token?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class PasswordResetUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    token?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class PasswordResetUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    token?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class PasswordResetWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    email?: string;
}

@InputType()
export class PasswordResetWhereInput {
    @Field(() => [PasswordResetWhereInput], {nullable:true})
    AND?: Array<PasswordResetWhereInput>;
    @Field(() => [PasswordResetWhereInput], {nullable:true})
    OR?: Array<PasswordResetWhereInput>;
    @Field(() => [PasswordResetWhereInput], {nullable:true})
    NOT?: Array<PasswordResetWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    email?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    token?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
}

@ObjectType()
export class PasswordReset {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    token!: string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date;
}

@ArgsType()
export class UpdateManyPasswordResetArgs {
    @Field(() => PasswordResetUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof PasswordResetUpdateManyMutationInput>;
    @Field(() => PasswordResetWhereInput, {nullable:true})
    where?: InstanceType<typeof PasswordResetWhereInput>;
}

@ArgsType()
export class UpdateOnePasswordResetArgs {
    @Field(() => PasswordResetUpdateInput, {nullable:false})
    data!: InstanceType<typeof PasswordResetUpdateInput>;
    @Field(() => PasswordResetWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PasswordResetWhereUniqueInput>;
}

@ArgsType()
export class UpsertOnePasswordResetArgs {
    @Field(() => PasswordResetWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PasswordResetWhereUniqueInput>;
    @Field(() => PasswordResetCreateInput, {nullable:false})
    create!: InstanceType<typeof PasswordResetCreateInput>;
    @Field(() => PasswordResetUpdateInput, {nullable:false})
    update!: InstanceType<typeof PasswordResetUpdateInput>;
}

@ObjectType()
export class AggregatePlayer {
    @Field(() => PlayerCountAggregate, {nullable:true})
    _count?: InstanceType<typeof PlayerCountAggregate>;
    @Field(() => PlayerAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof PlayerAvgAggregate>;
    @Field(() => PlayerSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof PlayerSumAggregate>;
    @Field(() => PlayerMinAggregate, {nullable:true})
    _min?: InstanceType<typeof PlayerMinAggregate>;
    @Field(() => PlayerMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof PlayerMaxAggregate>;
}

@ArgsType()
export class CreateManyPlayerArgs {
    @Field(() => [PlayerCreateManyInput], {nullable:false})
    data!: Array<PlayerCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOnePlayerArgs {
    @Field(() => PlayerCreateInput, {nullable:false})
    data!: InstanceType<typeof PlayerCreateInput>;
}

@ArgsType()
export class DeleteManyPlayerArgs {
    @Field(() => PlayerWhereInput, {nullable:true})
    where?: InstanceType<typeof PlayerWhereInput>;
}

@ArgsType()
export class DeleteOnePlayerArgs {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
}

@ArgsType()
export class FindFirstPlayerArgs {
    @Field(() => PlayerWhereInput, {nullable:true})
    where?: InstanceType<typeof PlayerWhereInput>;
    @Field(() => [PlayerOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<PlayerOrderByWithRelationInput>;
    @Field(() => PlayerWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [PlayerScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof PlayerScalarFieldEnum>;
}

@ArgsType()
export class FindManyPlayerArgs {
    @Field(() => PlayerWhereInput, {nullable:true})
    where?: InstanceType<typeof PlayerWhereInput>;
    @Field(() => [PlayerOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<PlayerOrderByWithRelationInput>;
    @Field(() => PlayerWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [PlayerScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof PlayerScalarFieldEnum>;
}

@ArgsType()
export class FindUniquePlayerArgs {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
}

@ArgsType()
export class PlayerAggregateArgs {
    @Field(() => PlayerWhereInput, {nullable:true})
    where?: InstanceType<typeof PlayerWhereInput>;
    @Field(() => [PlayerOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<PlayerOrderByWithRelationInput>;
    @Field(() => PlayerWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => PlayerCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof PlayerCountAggregateInput>;
    @Field(() => PlayerAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof PlayerAvgAggregateInput>;
    @Field(() => PlayerSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof PlayerSumAggregateInput>;
    @Field(() => PlayerMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof PlayerMinAggregateInput>;
    @Field(() => PlayerMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof PlayerMaxAggregateInput>;
}

@InputType()
export class PlayerAvgAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    rating?: true;
}

@ObjectType()
export class PlayerAvgAggregate {
    @Field(() => Float, {nullable:true})
    phoneId?: number;
    @Field(() => Float, {nullable:true})
    rating?: number;
}

@InputType()
export class PlayerAvgOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rating?: keyof typeof SortOrder;
}

@InputType()
export class PlayerCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    ownerId?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    rating?: true;
    @Field(() => Boolean, {nullable:true})
    phoneNumber?: true;
    @Field(() => Boolean, {nullable:true})
    firstName?: true;
    @Field(() => Boolean, {nullable:true})
    lastName?: true;
    @Field(() => Boolean, {nullable:true})
    dateOfBirth?: true;
    @Field(() => Boolean, {nullable:true})
    avatarId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    groupId?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class PlayerCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => Int, {nullable:false})
    email!: number;
    @Field(() => Int, {nullable:false})
    ownerId!: number;
    @Field(() => Int, {nullable:false})
    clubId!: number;
    @Field(() => Int, {nullable:false})
    rating!: number;
    @Field(() => Int, {nullable:false})
    phoneNumber!: number;
    @Field(() => Int, {nullable:false})
    firstName!: number;
    @Field(() => Int, {nullable:false})
    lastName!: number;
    @Field(() => Int, {nullable:false})
    dateOfBirth!: number;
    @Field(() => Int, {nullable:false})
    avatarId!: number;
    @Field(() => Int, {nullable:false})
    createdAt!: number;
    @Field(() => Int, {nullable:false})
    updatedAt!: number;
    @Field(() => Int, {nullable:false})
    groupId!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class PlayerCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rating?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    dateOfBirth?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatarId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    groupId?: keyof typeof SortOrder;
}

@ObjectType()
export class PlayerCount {
    @Field(() => Int, {nullable:false})
    gameData!: number;
}

@InputType()
export class PlayerCreateManyClubInputEnvelope {
    @Field(() => [PlayerCreateManyClubInput], {nullable:false})
    data!: Array<PlayerCreateManyClubInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@InputType()
export class PlayerCreateManyClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
}

@InputType()
export class PlayerCreateManyGroupInputEnvelope {
    @Field(() => [PlayerCreateManyGroupInput], {nullable:false})
    data!: Array<PlayerCreateManyGroupInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@InputType()
export class PlayerCreateManyGroupInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class PlayerCreateManyOwnerInputEnvelope {
    @Field(() => [PlayerCreateManyOwnerInput], {nullable:false})
    data!: Array<PlayerCreateManyOwnerInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@InputType()
export class PlayerCreateManyOwnerInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
}

@InputType()
export class PlayerCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
}

@InputType()
export class PlayerCreateNestedManyWithoutClubInput {
    @Field(() => [PlayerCreateWithoutClubInput], {nullable:true})
    create?: Array<PlayerCreateWithoutClubInput>;
    @Field(() => [PlayerCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutClubInput>;
    @Field(() => PlayerCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyClubInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
}

@InputType()
export class PlayerCreateNestedManyWithoutGameDataInput {
    @Field(() => [PlayerCreateWithoutGameDataInput], {nullable:true})
    create?: Array<PlayerCreateWithoutGameDataInput>;
    @Field(() => [PlayerCreateOrConnectWithoutGameDataInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutGameDataInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
}

@InputType()
export class PlayerCreateNestedManyWithoutGroupInput {
    @Field(() => [PlayerCreateWithoutGroupInput], {nullable:true})
    create?: Array<PlayerCreateWithoutGroupInput>;
    @Field(() => [PlayerCreateOrConnectWithoutGroupInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutGroupInput>;
    @Field(() => PlayerCreateManyGroupInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyGroupInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
}

@InputType()
export class PlayerCreateNestedManyWithoutOwnerInput {
    @Field(() => [PlayerCreateWithoutOwnerInput], {nullable:true})
    create?: Array<PlayerCreateWithoutOwnerInput>;
    @Field(() => [PlayerCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutOwnerInput>;
    @Field(() => PlayerCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyOwnerInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
}

@InputType()
export class PlayerCreateOrConnectWithoutClubInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerCreateWithoutClubInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutClubInput>;
}

@InputType()
export class PlayerCreateOrConnectWithoutGameDataInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerCreateWithoutGameDataInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutGameDataInput>;
}

@InputType()
export class PlayerCreateOrConnectWithoutGroupInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerCreateWithoutGroupInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutGroupInput>;
}

@InputType()
export class PlayerCreateOrConnectWithoutOwnerInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerCreateWithoutOwnerInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutOwnerInput>;
}

@InputType()
export class PlayerCreateWithoutClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutPlayersInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutPlayersInput>;
    @Field(() => GameDataCreateNestedManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataCreateNestedManyWithoutPlayersInput>;
    @Field(() => GroupCreateNestedOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupCreateNestedOneWithoutPlayersInput>;
}

@InputType()
export class PlayerCreateWithoutGameDataInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutPlayersInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutPlayersInput>;
    @Field(() => ClubCreateNestedOneWithoutPlayersInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutPlayersInput>;
    @Field(() => GroupCreateNestedOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupCreateNestedOneWithoutPlayersInput>;
}

@InputType()
export class PlayerCreateWithoutGroupInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutPlayersInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutPlayersInput>;
    @Field(() => ClubCreateNestedOneWithoutPlayersInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutPlayersInput>;
    @Field(() => GameDataCreateNestedManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataCreateNestedManyWithoutPlayersInput>;
}

@InputType()
export class PlayerCreateWithoutOwnerInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => ClubCreateNestedOneWithoutPlayersInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutPlayersInput>;
    @Field(() => GameDataCreateNestedManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataCreateNestedManyWithoutPlayersInput>;
    @Field(() => GroupCreateNestedOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupCreateNestedOneWithoutPlayersInput>;
}

@InputType()
export class PlayerCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => UserCreateNestedOneWithoutPlayersInput, {nullable:false})
    owner!: InstanceType<typeof UserCreateNestedOneWithoutPlayersInput>;
    @Field(() => ClubCreateNestedOneWithoutPlayersInput, {nullable:false})
    club!: InstanceType<typeof ClubCreateNestedOneWithoutPlayersInput>;
    @Field(() => GameDataCreateNestedManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataCreateNestedManyWithoutPlayersInput>;
    @Field(() => GroupCreateNestedOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupCreateNestedOneWithoutPlayersInput>;
}

@ObjectType()
export class PlayerGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date | string;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
    @Field(() => PlayerCountAggregate, {nullable:true})
    _count?: InstanceType<typeof PlayerCountAggregate>;
    @Field(() => PlayerAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof PlayerAvgAggregate>;
    @Field(() => PlayerSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof PlayerSumAggregate>;
    @Field(() => PlayerMinAggregate, {nullable:true})
    _min?: InstanceType<typeof PlayerMinAggregate>;
    @Field(() => PlayerMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof PlayerMaxAggregate>;
}

@InputType()
export class PlayerListRelationFilter {
    @Field(() => PlayerWhereInput, {nullable:true})
    every?: InstanceType<typeof PlayerWhereInput>;
    @Field(() => PlayerWhereInput, {nullable:true})
    some?: InstanceType<typeof PlayerWhereInput>;
    @Field(() => PlayerWhereInput, {nullable:true})
    none?: InstanceType<typeof PlayerWhereInput>;
}

@InputType()
export class PlayerMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    ownerId?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    rating?: true;
    @Field(() => Boolean, {nullable:true})
    phoneNumber?: true;
    @Field(() => Boolean, {nullable:true})
    firstName?: true;
    @Field(() => Boolean, {nullable:true})
    lastName?: true;
    @Field(() => Boolean, {nullable:true})
    dateOfBirth?: true;
    @Field(() => Boolean, {nullable:true})
    avatarId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    groupId?: true;
}

@ObjectType()
export class PlayerMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    email?: string;
    @Field(() => String, {nullable:true})
    ownerId?: string;
    @Field(() => String, {nullable:true})
    clubId?: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:true})
    groupId?: string;
}

@InputType()
export class PlayerMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rating?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    dateOfBirth?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatarId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    groupId?: keyof typeof SortOrder;
}

@InputType()
export class PlayerMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    ownerId?: true;
    @Field(() => Boolean, {nullable:true})
    clubId?: true;
    @Field(() => Boolean, {nullable:true})
    rating?: true;
    @Field(() => Boolean, {nullable:true})
    phoneNumber?: true;
    @Field(() => Boolean, {nullable:true})
    firstName?: true;
    @Field(() => Boolean, {nullable:true})
    lastName?: true;
    @Field(() => Boolean, {nullable:true})
    dateOfBirth?: true;
    @Field(() => Boolean, {nullable:true})
    avatarId?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    groupId?: true;
}

@ObjectType()
export class PlayerMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => String, {nullable:true})
    email?: string;
    @Field(() => String, {nullable:true})
    ownerId?: string;
    @Field(() => String, {nullable:true})
    clubId?: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:true})
    groupId?: string;
}

@InputType()
export class PlayerMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rating?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    dateOfBirth?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatarId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    groupId?: keyof typeof SortOrder;
}

@InputType()
export class PlayerOrderByRelationAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    _count?: keyof typeof SortOrder;
}

@InputType()
export class PlayerOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rating?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    dateOfBirth?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatarId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    groupId?: keyof typeof SortOrder;
    @Field(() => PlayerCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof PlayerCountOrderByAggregateInput>;
    @Field(() => PlayerAvgOrderByAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof PlayerAvgOrderByAggregateInput>;
    @Field(() => PlayerMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof PlayerMaxOrderByAggregateInput>;
    @Field(() => PlayerMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof PlayerMinOrderByAggregateInput>;
    @Field(() => PlayerSumOrderByAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof PlayerSumOrderByAggregateInput>;
}

@InputType()
export class PlayerOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    ownerId?: keyof typeof SortOrder;
    @Field(() => UserOrderByWithRelationInput, {nullable:true})
    owner?: InstanceType<typeof UserOrderByWithRelationInput>;
    @Field(() => SortOrder, {nullable:true})
    clubId?: keyof typeof SortOrder;
    @Field(() => ClubOrderByWithRelationInput, {nullable:true})
    club?: InstanceType<typeof ClubOrderByWithRelationInput>;
    @Field(() => SortOrder, {nullable:true})
    rating?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    dateOfBirth?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatarId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => GameDataOrderByRelationAggregateInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataOrderByRelationAggregateInput>;
    @Field(() => SortOrder, {nullable:true})
    groupId?: keyof typeof SortOrder;
    @Field(() => GroupOrderByWithRelationInput, {nullable:true})
    group?: InstanceType<typeof GroupOrderByWithRelationInput>;
}

@InputType()
export class PlayerScalarWhereWithAggregatesInput {
    @Field(() => [PlayerScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<PlayerScalarWhereWithAggregatesInput>;
    @Field(() => [PlayerScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<PlayerScalarWhereWithAggregatesInput>;
    @Field(() => [PlayerScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<PlayerScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    email?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    ownerId?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    clubId?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => FloatWithAggregatesFilter, {nullable:true})
    rating?: InstanceType<typeof FloatWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    phoneNumber?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    firstName?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    lastName?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    dateOfBirth?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    avatarId?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    groupId?: InstanceType<typeof StringWithAggregatesFilter>;
}

@InputType()
export class PlayerScalarWhereInput {
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    AND?: Array<PlayerScalarWhereInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    OR?: Array<PlayerScalarWhereInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    NOT?: Array<PlayerScalarWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    email?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    ownerId?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubId?: InstanceType<typeof StringFilter>;
    @Field(() => FloatFilter, {nullable:true})
    rating?: InstanceType<typeof FloatFilter>;
    @Field(() => StringFilter, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    firstName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    lastName?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    dateOfBirth?: InstanceType<typeof DateTimeFilter>;
    @Field(() => StringFilter, {nullable:true})
    avatarId?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => StringFilter, {nullable:true})
    groupId?: InstanceType<typeof StringFilter>;
}

@InputType()
export class PlayerSumAggregateInput {
    @Field(() => Boolean, {nullable:true})
    phoneId?: true;
    @Field(() => Boolean, {nullable:true})
    rating?: true;
}

@ObjectType()
export class PlayerSumAggregate {
    @Field(() => Int, {nullable:true})
    phoneId?: number;
    @Field(() => Float, {nullable:true})
    rating?: number;
}

@InputType()
export class PlayerSumOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    phoneId?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rating?: keyof typeof SortOrder;
}

@InputType()
export class PlayerUncheckedCreateNestedManyWithoutClubInput {
    @Field(() => [PlayerCreateWithoutClubInput], {nullable:true})
    create?: Array<PlayerCreateWithoutClubInput>;
    @Field(() => [PlayerCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutClubInput>;
    @Field(() => PlayerCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyClubInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
}

@InputType()
export class PlayerUncheckedCreateNestedManyWithoutGroupInput {
    @Field(() => [PlayerCreateWithoutGroupInput], {nullable:true})
    create?: Array<PlayerCreateWithoutGroupInput>;
    @Field(() => [PlayerCreateOrConnectWithoutGroupInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutGroupInput>;
    @Field(() => PlayerCreateManyGroupInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyGroupInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
}

@InputType()
export class PlayerUncheckedCreateNestedManyWithoutOwnerInput {
    @Field(() => [PlayerCreateWithoutOwnerInput], {nullable:true})
    create?: Array<PlayerCreateWithoutOwnerInput>;
    @Field(() => [PlayerCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutOwnerInput>;
    @Field(() => PlayerCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyOwnerInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
}

@InputType()
export class PlayerUncheckedCreateWithoutClubInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
}

@InputType()
export class PlayerUncheckedCreateWithoutGameDataInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
}

@InputType()
export class PlayerUncheckedCreateWithoutGroupInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
}

@InputType()
export class PlayerUncheckedCreateWithoutOwnerInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
}

@InputType()
export class PlayerUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Float, {nullable:true})
    rating?: number;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => Date, {nullable:true})
    dateOfBirth?: Date | string;
    @Field(() => String, {nullable:true})
    avatarId?: string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => String, {nullable:false})
    groupId!: string;
}

@InputType()
export class PlayerUncheckedUpdateManyWithoutClubInput {
    @Field(() => [PlayerCreateWithoutClubInput], {nullable:true})
    create?: Array<PlayerCreateWithoutClubInput>;
    @Field(() => [PlayerCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutClubInput>;
    @Field(() => [PlayerUpsertWithWhereUniqueWithoutClubInput], {nullable:true})
    upsert?: Array<PlayerUpsertWithWhereUniqueWithoutClubInput>;
    @Field(() => PlayerCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyClubInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    set?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    disconnect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    delete?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerUpdateWithWhereUniqueWithoutClubInput], {nullable:true})
    update?: Array<PlayerUpdateWithWhereUniqueWithoutClubInput>;
    @Field(() => [PlayerUpdateManyWithWhereWithoutClubInput], {nullable:true})
    updateMany?: Array<PlayerUpdateManyWithWhereWithoutClubInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    deleteMany?: Array<PlayerScalarWhereInput>;
}

@InputType()
export class PlayerUncheckedUpdateManyWithoutGroupInput {
    @Field(() => [PlayerCreateWithoutGroupInput], {nullable:true})
    create?: Array<PlayerCreateWithoutGroupInput>;
    @Field(() => [PlayerCreateOrConnectWithoutGroupInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutGroupInput>;
    @Field(() => [PlayerUpsertWithWhereUniqueWithoutGroupInput], {nullable:true})
    upsert?: Array<PlayerUpsertWithWhereUniqueWithoutGroupInput>;
    @Field(() => PlayerCreateManyGroupInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyGroupInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    set?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    disconnect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    delete?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerUpdateWithWhereUniqueWithoutGroupInput], {nullable:true})
    update?: Array<PlayerUpdateWithWhereUniqueWithoutGroupInput>;
    @Field(() => [PlayerUpdateManyWithWhereWithoutGroupInput], {nullable:true})
    updateMany?: Array<PlayerUpdateManyWithWhereWithoutGroupInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    deleteMany?: Array<PlayerScalarWhereInput>;
}

@InputType()
export class PlayerUncheckedUpdateManyWithoutOwnerInput {
    @Field(() => [PlayerCreateWithoutOwnerInput], {nullable:true})
    create?: Array<PlayerCreateWithoutOwnerInput>;
    @Field(() => [PlayerCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutOwnerInput>;
    @Field(() => [PlayerUpsertWithWhereUniqueWithoutOwnerInput], {nullable:true})
    upsert?: Array<PlayerUpsertWithWhereUniqueWithoutOwnerInput>;
    @Field(() => PlayerCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyOwnerInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    set?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    disconnect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    delete?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerUpdateWithWhereUniqueWithoutOwnerInput], {nullable:true})
    update?: Array<PlayerUpdateWithWhereUniqueWithoutOwnerInput>;
    @Field(() => [PlayerUpdateManyWithWhereWithoutOwnerInput], {nullable:true})
    updateMany?: Array<PlayerUpdateManyWithWhereWithoutOwnerInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    deleteMany?: Array<PlayerScalarWhereInput>;
}

@InputType()
export class PlayerUncheckedUpdateManyWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    groupId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    groupId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUncheckedUpdateWithoutClubInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    groupId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUncheckedUpdateWithoutGameDataInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    groupId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUncheckedUpdateWithoutGroupInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUncheckedUpdateWithoutOwnerInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    groupId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    ownerId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    clubId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    groupId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
}

@InputType()
export class PlayerUpdateManyWithWhereWithoutClubInput {
    @Field(() => PlayerScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof PlayerScalarWhereInput>;
    @Field(() => PlayerUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateManyMutationInput>;
}

@InputType()
export class PlayerUpdateManyWithWhereWithoutGameDataInput {
    @Field(() => PlayerScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof PlayerScalarWhereInput>;
    @Field(() => PlayerUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateManyMutationInput>;
}

@InputType()
export class PlayerUpdateManyWithWhereWithoutGroupInput {
    @Field(() => PlayerScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof PlayerScalarWhereInput>;
    @Field(() => PlayerUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateManyMutationInput>;
}

@InputType()
export class PlayerUpdateManyWithWhereWithoutOwnerInput {
    @Field(() => PlayerScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof PlayerScalarWhereInput>;
    @Field(() => PlayerUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateManyMutationInput>;
}

@InputType()
export class PlayerUpdateManyWithoutClubInput {
    @Field(() => [PlayerCreateWithoutClubInput], {nullable:true})
    create?: Array<PlayerCreateWithoutClubInput>;
    @Field(() => [PlayerCreateOrConnectWithoutClubInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutClubInput>;
    @Field(() => [PlayerUpsertWithWhereUniqueWithoutClubInput], {nullable:true})
    upsert?: Array<PlayerUpsertWithWhereUniqueWithoutClubInput>;
    @Field(() => PlayerCreateManyClubInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyClubInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    set?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    disconnect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    delete?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerUpdateWithWhereUniqueWithoutClubInput], {nullable:true})
    update?: Array<PlayerUpdateWithWhereUniqueWithoutClubInput>;
    @Field(() => [PlayerUpdateManyWithWhereWithoutClubInput], {nullable:true})
    updateMany?: Array<PlayerUpdateManyWithWhereWithoutClubInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    deleteMany?: Array<PlayerScalarWhereInput>;
}

@InputType()
export class PlayerUpdateManyWithoutGameDataInput {
    @Field(() => [PlayerCreateWithoutGameDataInput], {nullable:true})
    create?: Array<PlayerCreateWithoutGameDataInput>;
    @Field(() => [PlayerCreateOrConnectWithoutGameDataInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutGameDataInput>;
    @Field(() => [PlayerUpsertWithWhereUniqueWithoutGameDataInput], {nullable:true})
    upsert?: Array<PlayerUpsertWithWhereUniqueWithoutGameDataInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    set?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    disconnect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    delete?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerUpdateWithWhereUniqueWithoutGameDataInput], {nullable:true})
    update?: Array<PlayerUpdateWithWhereUniqueWithoutGameDataInput>;
    @Field(() => [PlayerUpdateManyWithWhereWithoutGameDataInput], {nullable:true})
    updateMany?: Array<PlayerUpdateManyWithWhereWithoutGameDataInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    deleteMany?: Array<PlayerScalarWhereInput>;
}

@InputType()
export class PlayerUpdateManyWithoutGroupInput {
    @Field(() => [PlayerCreateWithoutGroupInput], {nullable:true})
    create?: Array<PlayerCreateWithoutGroupInput>;
    @Field(() => [PlayerCreateOrConnectWithoutGroupInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutGroupInput>;
    @Field(() => [PlayerUpsertWithWhereUniqueWithoutGroupInput], {nullable:true})
    upsert?: Array<PlayerUpsertWithWhereUniqueWithoutGroupInput>;
    @Field(() => PlayerCreateManyGroupInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyGroupInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    set?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    disconnect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    delete?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerUpdateWithWhereUniqueWithoutGroupInput], {nullable:true})
    update?: Array<PlayerUpdateWithWhereUniqueWithoutGroupInput>;
    @Field(() => [PlayerUpdateManyWithWhereWithoutGroupInput], {nullable:true})
    updateMany?: Array<PlayerUpdateManyWithWhereWithoutGroupInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    deleteMany?: Array<PlayerScalarWhereInput>;
}

@InputType()
export class PlayerUpdateManyWithoutOwnerInput {
    @Field(() => [PlayerCreateWithoutOwnerInput], {nullable:true})
    create?: Array<PlayerCreateWithoutOwnerInput>;
    @Field(() => [PlayerCreateOrConnectWithoutOwnerInput], {nullable:true})
    connectOrCreate?: Array<PlayerCreateOrConnectWithoutOwnerInput>;
    @Field(() => [PlayerUpsertWithWhereUniqueWithoutOwnerInput], {nullable:true})
    upsert?: Array<PlayerUpsertWithWhereUniqueWithoutOwnerInput>;
    @Field(() => PlayerCreateManyOwnerInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof PlayerCreateManyOwnerInputEnvelope>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    set?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    disconnect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    delete?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerWhereUniqueInput], {nullable:true})
    connect?: Array<PlayerWhereUniqueInput>;
    @Field(() => [PlayerUpdateWithWhereUniqueWithoutOwnerInput], {nullable:true})
    update?: Array<PlayerUpdateWithWhereUniqueWithoutOwnerInput>;
    @Field(() => [PlayerUpdateManyWithWhereWithoutOwnerInput], {nullable:true})
    updateMany?: Array<PlayerUpdateManyWithWhereWithoutOwnerInput>;
    @Field(() => [PlayerScalarWhereInput], {nullable:true})
    deleteMany?: Array<PlayerScalarWhereInput>;
}

@InputType()
export class PlayerUpdateWithWhereUniqueWithoutClubInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutClubInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateWithoutClubInput>;
}

@InputType()
export class PlayerUpdateWithWhereUniqueWithoutGameDataInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutGameDataInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateWithoutGameDataInput>;
}

@InputType()
export class PlayerUpdateWithWhereUniqueWithoutGroupInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutGroupInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateWithoutGroupInput>;
}

@InputType()
export class PlayerUpdateWithWhereUniqueWithoutOwnerInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutOwnerInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateWithoutOwnerInput>;
}

@InputType()
export class PlayerUpdateWithoutClubInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => GameDataUpdateManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUpdateManyWithoutPlayersInput>;
    @Field(() => GroupUpdateOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupUpdateOneWithoutPlayersInput>;
}

@InputType()
export class PlayerUpdateWithoutGameDataInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => ClubUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => GroupUpdateOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupUpdateOneWithoutPlayersInput>;
}

@InputType()
export class PlayerUpdateWithoutGroupInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => ClubUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => GameDataUpdateManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUpdateManyWithoutPlayersInput>;
}

@InputType()
export class PlayerUpdateWithoutOwnerInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => ClubUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => GameDataUpdateManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUpdateManyWithoutPlayersInput>;
    @Field(() => GroupUpdateOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupUpdateOneWithoutPlayersInput>;
}

@InputType()
export class PlayerUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => IntFieldUpdateOperationsInput, {nullable:true})
    phoneId?: InstanceType<typeof IntFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableFloatFieldUpdateOperationsInput, {nullable:true})
    rating?: InstanceType<typeof NullableFloatFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    dateOfBirth?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatarId?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => UserUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    owner?: InstanceType<typeof UserUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => ClubUpdateOneRequiredWithoutPlayersInput, {nullable:true})
    club?: InstanceType<typeof ClubUpdateOneRequiredWithoutPlayersInput>;
    @Field(() => GameDataUpdateManyWithoutPlayersInput, {nullable:true})
    gameData?: InstanceType<typeof GameDataUpdateManyWithoutPlayersInput>;
    @Field(() => GroupUpdateOneWithoutPlayersInput, {nullable:true})
    group?: InstanceType<typeof GroupUpdateOneWithoutPlayersInput>;
}

@InputType()
export class PlayerUpsertWithWhereUniqueWithoutClubInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutClubInput, {nullable:false})
    update!: InstanceType<typeof PlayerUpdateWithoutClubInput>;
    @Field(() => PlayerCreateWithoutClubInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutClubInput>;
}

@InputType()
export class PlayerUpsertWithWhereUniqueWithoutGameDataInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutGameDataInput, {nullable:false})
    update!: InstanceType<typeof PlayerUpdateWithoutGameDataInput>;
    @Field(() => PlayerCreateWithoutGameDataInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutGameDataInput>;
}

@InputType()
export class PlayerUpsertWithWhereUniqueWithoutGroupInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutGroupInput, {nullable:false})
    update!: InstanceType<typeof PlayerUpdateWithoutGroupInput>;
    @Field(() => PlayerCreateWithoutGroupInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutGroupInput>;
}

@InputType()
export class PlayerUpsertWithWhereUniqueWithoutOwnerInput {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerUpdateWithoutOwnerInput, {nullable:false})
    update!: InstanceType<typeof PlayerUpdateWithoutOwnerInput>;
    @Field(() => PlayerCreateWithoutOwnerInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateWithoutOwnerInput>;
}

@InputType()
export class PlayerWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    email?: string;
}

@InputType()
export class PlayerWhereInput {
    @Field(() => [PlayerWhereInput], {nullable:true})
    AND?: Array<PlayerWhereInput>;
    @Field(() => [PlayerWhereInput], {nullable:true})
    OR?: Array<PlayerWhereInput>;
    @Field(() => [PlayerWhereInput], {nullable:true})
    NOT?: Array<PlayerWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    phoneId?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    email?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    ownerId?: InstanceType<typeof StringFilter>;
    @Field(() => UserRelationFilter, {nullable:true})
    owner?: InstanceType<typeof UserRelationFilter>;
    @Field(() => StringFilter, {nullable:true})
    clubId?: InstanceType<typeof StringFilter>;
    @Field(() => ClubRelationFilter, {nullable:true})
    club?: InstanceType<typeof ClubRelationFilter>;
    @Field(() => FloatFilter, {nullable:true})
    rating?: InstanceType<typeof FloatFilter>;
    @Field(() => StringFilter, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    firstName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    lastName?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    dateOfBirth?: InstanceType<typeof DateTimeFilter>;
    @Field(() => StringFilter, {nullable:true})
    avatarId?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => GameDataListRelationFilter, {nullable:true})
    gameData?: InstanceType<typeof GameDataListRelationFilter>;
    @Field(() => StringFilter, {nullable:true})
    groupId?: InstanceType<typeof StringFilter>;
    @Field(() => GroupRelationFilter, {nullable:true})
    group?: InstanceType<typeof GroupRelationFilter>;
}

@ObjectType()
export class Player {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => Int, {nullable:false})
    phoneId!: number;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => String, {nullable:false})
    ownerId!: string;
    @Field(() => User, {nullable:false})
    owner?: InstanceType<typeof User>;
    @Field(() => String, {nullable:false})
    clubId!: string;
    @Field(() => Club, {nullable:false})
    club?: InstanceType<typeof Club>;
    @Field(() => Float, {nullable:true})
    rating!: number | null;
    @Field(() => String, {nullable:true})
    phoneNumber!: string | null;
    @Field(() => String, {nullable:true})
    firstName!: string | null;
    @Field(() => String, {nullable:true})
    lastName!: string | null;
    @Field(() => Date, {nullable:true})
    dateOfBirth!: Date | null;
    @Field(() => String, {nullable:true})
    avatarId!: string | null;
    @Field(() => Date, {nullable:false})
    createdAt!: Date;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date;
    @Field(() => [GameData], {nullable:true})
    gameData?: Array<GameData>;
    @Field(() => String, {nullable:false})
    groupId!: string;
    @Field(() => Group, {nullable:true})
    group?: InstanceType<typeof Group> | null;
    @Field(() => PlayerCount, {nullable:false})
    _count?: InstanceType<typeof PlayerCount>;
}

@ArgsType()
export class UpdateManyPlayerArgs {
    @Field(() => PlayerUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateManyMutationInput>;
    @Field(() => PlayerWhereInput, {nullable:true})
    where?: InstanceType<typeof PlayerWhereInput>;
}

@ArgsType()
export class UpdateOnePlayerArgs {
    @Field(() => PlayerUpdateInput, {nullable:false})
    data!: InstanceType<typeof PlayerUpdateInput>;
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
}

@ArgsType()
export class UpsertOnePlayerArgs {
    @Field(() => PlayerWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof PlayerWhereUniqueInput>;
    @Field(() => PlayerCreateInput, {nullable:false})
    create!: InstanceType<typeof PlayerCreateInput>;
    @Field(() => PlayerUpdateInput, {nullable:false})
    update!: InstanceType<typeof PlayerUpdateInput>;
}

@ObjectType()
export class AffectedRows {
    @Field(() => Int, {nullable:false})
    count!: number;
}

@InputType()
export class DateTimeFieldUpdateOperationsInput {
    @Field(() => Date, {nullable:true})
    set?: Date | string;
}

@InputType()
export class DateTimeFilter {
    @Field(() => Date, {nullable:true})
    equals?: Date | string;
    @Field(() => [Date], {nullable:true})
    in?: Array<Date> | Array<string>;
    @Field(() => [Date], {nullable:true})
    notIn?: Array<Date> | Array<string>;
    @Field(() => Date, {nullable:true})
    lt?: Date | string;
    @Field(() => Date, {nullable:true})
    lte?: Date | string;
    @Field(() => Date, {nullable:true})
    gt?: Date | string;
    @Field(() => Date, {nullable:true})
    gte?: Date | string;
    @Field(() => DateTimeFilter, {nullable:true})
    not?: InstanceType<typeof DateTimeFilter>;
}

@InputType()
export class DateTimeWithAggregatesFilter {
    @Field(() => Date, {nullable:true})
    equals?: Date | string;
    @Field(() => [Date], {nullable:true})
    in?: Array<Date> | Array<string>;
    @Field(() => [Date], {nullable:true})
    notIn?: Array<Date> | Array<string>;
    @Field(() => Date, {nullable:true})
    lt?: Date | string;
    @Field(() => Date, {nullable:true})
    lte?: Date | string;
    @Field(() => Date, {nullable:true})
    gt?: Date | string;
    @Field(() => Date, {nullable:true})
    gte?: Date | string;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    not?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => IntFilter, {nullable:true})
    _count?: InstanceType<typeof IntFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    _min?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    _max?: InstanceType<typeof DateTimeFilter>;
}

@InputType()
export class EnumRoleFieldUpdateOperationsInput {
    @Field(() => Role, {nullable:true})
    set?: keyof typeof Role;
}

@InputType()
export class EnumRoleFilter {
    @Field(() => Role, {nullable:true})
    equals?: keyof typeof Role;
    @Field(() => [Role], {nullable:true})
    in?: Array<keyof typeof Role>;
    @Field(() => [Role], {nullable:true})
    notIn?: Array<keyof typeof Role>;
    @Field(() => EnumRoleFilter, {nullable:true})
    not?: InstanceType<typeof EnumRoleFilter>;
}

@InputType()
export class EnumRoleWithAggregatesFilter {
    @Field(() => Role, {nullable:true})
    equals?: keyof typeof Role;
    @Field(() => [Role], {nullable:true})
    in?: Array<keyof typeof Role>;
    @Field(() => [Role], {nullable:true})
    notIn?: Array<keyof typeof Role>;
    @Field(() => EnumRoleWithAggregatesFilter, {nullable:true})
    not?: InstanceType<typeof EnumRoleWithAggregatesFilter>;
    @Field(() => IntFilter, {nullable:true})
    _count?: InstanceType<typeof IntFilter>;
    @Field(() => EnumRoleFilter, {nullable:true})
    _min?: InstanceType<typeof EnumRoleFilter>;
    @Field(() => EnumRoleFilter, {nullable:true})
    _max?: InstanceType<typeof EnumRoleFilter>;
}

@InputType()
export class FloatFieldUpdateOperationsInput {
    @Field(() => Float, {nullable:true})
    set?: number;
    @Field(() => Float, {nullable:true})
    increment?: number;
    @Field(() => Float, {nullable:true})
    decrement?: number;
    @Field(() => Float, {nullable:true})
    multiply?: number;
    @Field(() => Float, {nullable:true})
    divide?: number;
}

@InputType()
export class FloatFilter {
    @Field(() => Float, {nullable:true})
    equals?: number;
    @Field(() => [Float], {nullable:true})
    in?: Array<number>;
    @Field(() => [Float], {nullable:true})
    notIn?: Array<number>;
    @Field(() => Float, {nullable:true})
    lt?: number;
    @Field(() => Float, {nullable:true})
    lte?: number;
    @Field(() => Float, {nullable:true})
    gt?: number;
    @Field(() => Float, {nullable:true})
    gte?: number;
    @Field(() => FloatFilter, {nullable:true})
    not?: InstanceType<typeof FloatFilter>;
}

@InputType()
export class FloatWithAggregatesFilter {
    @Field(() => Float, {nullable:true})
    equals?: number;
    @Field(() => [Float], {nullable:true})
    in?: Array<number>;
    @Field(() => [Float], {nullable:true})
    notIn?: Array<number>;
    @Field(() => Float, {nullable:true})
    lt?: number;
    @Field(() => Float, {nullable:true})
    lte?: number;
    @Field(() => Float, {nullable:true})
    gt?: number;
    @Field(() => Float, {nullable:true})
    gte?: number;
    @Field(() => FloatWithAggregatesFilter, {nullable:true})
    not?: InstanceType<typeof FloatWithAggregatesFilter>;
    @Field(() => IntFilter, {nullable:true})
    _count?: InstanceType<typeof IntFilter>;
    @Field(() => FloatFilter, {nullable:true})
    _avg?: InstanceType<typeof FloatFilter>;
    @Field(() => FloatFilter, {nullable:true})
    _sum?: InstanceType<typeof FloatFilter>;
    @Field(() => FloatFilter, {nullable:true})
    _min?: InstanceType<typeof FloatFilter>;
    @Field(() => FloatFilter, {nullable:true})
    _max?: InstanceType<typeof FloatFilter>;
}

@InputType()
export class IntFieldUpdateOperationsInput {
    @Field(() => Int, {nullable:true})
    set?: number;
    @Field(() => Int, {nullable:true})
    increment?: number;
    @Field(() => Int, {nullable:true})
    decrement?: number;
    @Field(() => Int, {nullable:true})
    multiply?: number;
    @Field(() => Int, {nullable:true})
    divide?: number;
}

@InputType()
export class IntFilter {
    @Field(() => Int, {nullable:true})
    equals?: number;
    @Field(() => [Int], {nullable:true})
    in?: Array<number>;
    @Field(() => [Int], {nullable:true})
    notIn?: Array<number>;
    @Field(() => Int, {nullable:true})
    lt?: number;
    @Field(() => Int, {nullable:true})
    lte?: number;
    @Field(() => Int, {nullable:true})
    gt?: number;
    @Field(() => Int, {nullable:true})
    gte?: number;
    @Field(() => IntFilter, {nullable:true})
    not?: InstanceType<typeof IntFilter>;
}

@InputType()
export class IntWithAggregatesFilter {
    @Field(() => Int, {nullable:true})
    equals?: number;
    @Field(() => [Int], {nullable:true})
    in?: Array<number>;
    @Field(() => [Int], {nullable:true})
    notIn?: Array<number>;
    @Field(() => Int, {nullable:true})
    lt?: number;
    @Field(() => Int, {nullable:true})
    lte?: number;
    @Field(() => Int, {nullable:true})
    gt?: number;
    @Field(() => Int, {nullable:true})
    gte?: number;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    not?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => IntFilter, {nullable:true})
    _count?: InstanceType<typeof IntFilter>;
    @Field(() => FloatFilter, {nullable:true})
    _avg?: InstanceType<typeof FloatFilter>;
    @Field(() => IntFilter, {nullable:true})
    _sum?: InstanceType<typeof IntFilter>;
    @Field(() => IntFilter, {nullable:true})
    _min?: InstanceType<typeof IntFilter>;
    @Field(() => IntFilter, {nullable:true})
    _max?: InstanceType<typeof IntFilter>;
}

@InputType()
export class NullableDateTimeFieldUpdateOperationsInput {
    @Field(() => Date, {nullable:true})
    set?: Date | string;
}

@InputType()
export class NullableFloatFieldUpdateOperationsInput {
    @Field(() => Float, {nullable:true})
    set?: number;
    @Field(() => Float, {nullable:true})
    increment?: number;
    @Field(() => Float, {nullable:true})
    decrement?: number;
    @Field(() => Float, {nullable:true})
    multiply?: number;
    @Field(() => Float, {nullable:true})
    divide?: number;
}

@InputType()
export class NullableIntFieldUpdateOperationsInput {
    @Field(() => Int, {nullable:true})
    set?: number;
    @Field(() => Int, {nullable:true})
    increment?: number;
    @Field(() => Int, {nullable:true})
    decrement?: number;
    @Field(() => Int, {nullable:true})
    multiply?: number;
    @Field(() => Int, {nullable:true})
    divide?: number;
}

@InputType()
export class NullableStringFieldUpdateOperationsInput {
    @Field(() => String, {nullable:true})
    set?: string;
}

@InputType()
export class StringFieldUpdateOperationsInput {
    @Field(() => String, {nullable:true})
    set?: string;
}

@InputType()
export class StringFilter {
    @Field(() => String, {nullable:true})
    equals?: string;
    @Field(() => [String], {nullable:true})
    in?: Array<string>;
    @Field(() => [String], {nullable:true})
    notIn?: Array<string>;
    @Field(() => String, {nullable:true})
    lt?: string;
    @Field(() => String, {nullable:true})
    lte?: string;
    @Field(() => String, {nullable:true})
    gt?: string;
    @Field(() => String, {nullable:true})
    gte?: string;
    @Field(() => String, {nullable:true})
    contains?: string;
    @Field(() => String, {nullable:true})
    startsWith?: string;
    @Field(() => String, {nullable:true})
    endsWith?: string;
    @Field(() => StringFilter, {nullable:true})
    not?: InstanceType<typeof StringFilter>;
}

@InputType()
export class StringWithAggregatesFilter {
    @Field(() => String, {nullable:true})
    equals?: string;
    @Field(() => [String], {nullable:true})
    in?: Array<string>;
    @Field(() => [String], {nullable:true})
    notIn?: Array<string>;
    @Field(() => String, {nullable:true})
    lt?: string;
    @Field(() => String, {nullable:true})
    lte?: string;
    @Field(() => String, {nullable:true})
    gt?: string;
    @Field(() => String, {nullable:true})
    gte?: string;
    @Field(() => String, {nullable:true})
    contains?: string;
    @Field(() => String, {nullable:true})
    startsWith?: string;
    @Field(() => String, {nullable:true})
    endsWith?: string;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    not?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntFilter, {nullable:true})
    _count?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    _min?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    _max?: InstanceType<typeof StringFilter>;
}

@ObjectType()
export class AggregateStation {
    @Field(() => StationCountAggregate, {nullable:true})
    _count?: InstanceType<typeof StationCountAggregate>;
    @Field(() => StationAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof StationAvgAggregate>;
    @Field(() => StationSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof StationSumAggregate>;
    @Field(() => StationMinAggregate, {nullable:true})
    _min?: InstanceType<typeof StationMinAggregate>;
    @Field(() => StationMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof StationMaxAggregate>;
}

@ArgsType()
export class CreateManyStationArgs {
    @Field(() => [StationCreateManyInput], {nullable:false})
    data!: Array<StationCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOneStationArgs {
    @Field(() => StationCreateInput, {nullable:false})
    data!: InstanceType<typeof StationCreateInput>;
}

@ArgsType()
export class DeleteManyStationArgs {
    @Field(() => StationWhereInput, {nullable:true})
    where?: InstanceType<typeof StationWhereInput>;
}

@ArgsType()
export class DeleteOneStationArgs {
    @Field(() => StationWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof StationWhereUniqueInput>;
}

@ArgsType()
export class FindFirstStationArgs {
    @Field(() => StationWhereInput, {nullable:true})
    where?: InstanceType<typeof StationWhereInput>;
    @Field(() => [StationOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<StationOrderByWithRelationInput>;
    @Field(() => StationWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof StationWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [StationScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof StationScalarFieldEnum>;
}

@ArgsType()
export class FindManyStationArgs {
    @Field(() => StationWhereInput, {nullable:true})
    where?: InstanceType<typeof StationWhereInput>;
    @Field(() => [StationOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<StationOrderByWithRelationInput>;
    @Field(() => StationWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof StationWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [StationScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof StationScalarFieldEnum>;
}

@ArgsType()
export class FindUniqueStationArgs {
    @Field(() => StationWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof StationWhereUniqueInput>;
}

@ArgsType()
export class StationAggregateArgs {
    @Field(() => StationWhereInput, {nullable:true})
    where?: InstanceType<typeof StationWhereInput>;
    @Field(() => [StationOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<StationOrderByWithRelationInput>;
    @Field(() => StationWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof StationWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => StationCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof StationCountAggregateInput>;
    @Field(() => StationAvgAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof StationAvgAggregateInput>;
    @Field(() => StationSumAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof StationSumAggregateInput>;
    @Field(() => StationMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof StationMinAggregateInput>;
    @Field(() => StationMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof StationMaxAggregateInput>;
}

@InputType()
export class StationAvgAggregateInput {
    @Field(() => Boolean, {nullable:true})
    numOfPads?: true;
}

@ObjectType()
export class StationAvgAggregate {
    @Field(() => Float, {nullable:true})
    numOfPads?: number;
}

@InputType()
export class StationAvgOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    numOfPads?: keyof typeof SortOrder;
}

@InputType()
export class StationCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    stationName?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangementName?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangementImage?: true;
    @Field(() => Boolean, {nullable:true})
    numOfPads?: true;
    @Field(() => Boolean, {nullable:true})
    pads?: true;
    @Field(() => Boolean, {nullable:true})
    stationDescription?: true;
    @Field(() => Boolean, {nullable:true})
    rectangleAttributes?: true;
    @Field(() => Boolean, {nullable:true})
    gameId?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class StationCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    stationName!: number;
    @Field(() => Int, {nullable:false})
    padArrangementName!: number;
    @Field(() => Int, {nullable:false})
    padArrangementImage!: number;
    @Field(() => Int, {nullable:false})
    numOfPads!: number;
    @Field(() => Int, {nullable:false})
    pads!: number;
    @Field(() => Int, {nullable:false})
    stationDescription!: number;
    @Field(() => Int, {nullable:false})
    rectangleAttributes!: number;
    @Field(() => Int, {nullable:false})
    gameId!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class StationCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementImage?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numOfPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    pads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rectangleAttributes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
}

@InputType()
export class StationCreateManyGameInputEnvelope {
    @Field(() => [StationCreateManyGameInput], {nullable:false})
    data!: Array<StationCreateManyGameInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@InputType()
export class StationCreateManyGameInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
}

@InputType()
export class StationCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
    @Field(() => String, {nullable:false})
    gameId!: string;
}

@InputType()
export class StationCreateNestedManyWithoutGameInput {
    @Field(() => [StationCreateWithoutGameInput], {nullable:true})
    create?: Array<StationCreateWithoutGameInput>;
    @Field(() => [StationCreateOrConnectWithoutGameInput], {nullable:true})
    connectOrCreate?: Array<StationCreateOrConnectWithoutGameInput>;
    @Field(() => StationCreateManyGameInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof StationCreateManyGameInputEnvelope>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    connect?: Array<StationWhereUniqueInput>;
}

@InputType()
export class StationCreateOrConnectWithoutGameInput {
    @Field(() => StationWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof StationWhereUniqueInput>;
    @Field(() => StationCreateWithoutGameInput, {nullable:false})
    create!: InstanceType<typeof StationCreateWithoutGameInput>;
}

@InputType()
export class StationCreateWithoutGameInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
}

@InputType()
export class StationCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
    @Field(() => GameCreateNestedOneWithoutStationsInput, {nullable:false})
    game!: InstanceType<typeof GameCreateNestedOneWithoutStationsInput>;
}

@ObjectType()
export class StationGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
    @Field(() => String, {nullable:false})
    gameId!: string;
    @Field(() => StationCountAggregate, {nullable:true})
    _count?: InstanceType<typeof StationCountAggregate>;
    @Field(() => StationAvgAggregate, {nullable:true})
    _avg?: InstanceType<typeof StationAvgAggregate>;
    @Field(() => StationSumAggregate, {nullable:true})
    _sum?: InstanceType<typeof StationSumAggregate>;
    @Field(() => StationMinAggregate, {nullable:true})
    _min?: InstanceType<typeof StationMinAggregate>;
    @Field(() => StationMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof StationMaxAggregate>;
}

@InputType()
export class StationListRelationFilter {
    @Field(() => StationWhereInput, {nullable:true})
    every?: InstanceType<typeof StationWhereInput>;
    @Field(() => StationWhereInput, {nullable:true})
    some?: InstanceType<typeof StationWhereInput>;
    @Field(() => StationWhereInput, {nullable:true})
    none?: InstanceType<typeof StationWhereInput>;
}

@InputType()
export class StationMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    stationName?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangementName?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangementImage?: true;
    @Field(() => Boolean, {nullable:true})
    numOfPads?: true;
    @Field(() => Boolean, {nullable:true})
    pads?: true;
    @Field(() => Boolean, {nullable:true})
    stationDescription?: true;
    @Field(() => Boolean, {nullable:true})
    rectangleAttributes?: true;
    @Field(() => Boolean, {nullable:true})
    gameId?: true;
}

@ObjectType()
export class StationMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
    @Field(() => String, {nullable:true})
    gameId?: string;
}

@InputType()
export class StationMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementImage?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numOfPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    pads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rectangleAttributes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
}

@InputType()
export class StationMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    stationName?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangementName?: true;
    @Field(() => Boolean, {nullable:true})
    padArrangementImage?: true;
    @Field(() => Boolean, {nullable:true})
    numOfPads?: true;
    @Field(() => Boolean, {nullable:true})
    pads?: true;
    @Field(() => Boolean, {nullable:true})
    stationDescription?: true;
    @Field(() => Boolean, {nullable:true})
    rectangleAttributes?: true;
    @Field(() => Boolean, {nullable:true})
    gameId?: true;
}

@ObjectType()
export class StationMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
    @Field(() => String, {nullable:true})
    gameId?: string;
}

@InputType()
export class StationMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementImage?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numOfPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    pads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rectangleAttributes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
}

@InputType()
export class StationOrderByRelationAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    _count?: keyof typeof SortOrder;
}

@InputType()
export class StationOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementImage?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numOfPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    pads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rectangleAttributes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
    @Field(() => StationCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof StationCountOrderByAggregateInput>;
    @Field(() => StationAvgOrderByAggregateInput, {nullable:true})
    _avg?: InstanceType<typeof StationAvgOrderByAggregateInput>;
    @Field(() => StationMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof StationMaxOrderByAggregateInput>;
    @Field(() => StationMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof StationMinOrderByAggregateInput>;
    @Field(() => StationSumOrderByAggregateInput, {nullable:true})
    _sum?: InstanceType<typeof StationSumOrderByAggregateInput>;
}

@InputType()
export class StationOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    padArrangementImage?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    numOfPads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    pads?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    stationDescription?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    rectangleAttributes?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    gameId?: keyof typeof SortOrder;
    @Field(() => GameOrderByWithRelationInput, {nullable:true})
    game?: InstanceType<typeof GameOrderByWithRelationInput>;
}

@InputType()
export class StationScalarWhereWithAggregatesInput {
    @Field(() => [StationScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<StationScalarWhereWithAggregatesInput>;
    @Field(() => [StationScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<StationScalarWhereWithAggregatesInput>;
    @Field(() => [StationScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<StationScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    stationName?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    padArrangementName?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    padArrangementImage?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => IntWithAggregatesFilter, {nullable:true})
    numOfPads?: InstanceType<typeof IntWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    pads?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    stationDescription?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    rectangleAttributes?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    gameId?: InstanceType<typeof StringWithAggregatesFilter>;
}

@InputType()
export class StationScalarWhereInput {
    @Field(() => [StationScalarWhereInput], {nullable:true})
    AND?: Array<StationScalarWhereInput>;
    @Field(() => [StationScalarWhereInput], {nullable:true})
    OR?: Array<StationScalarWhereInput>;
    @Field(() => [StationScalarWhereInput], {nullable:true})
    NOT?: Array<StationScalarWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    stationName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    padArrangementName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    padArrangementImage?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    numOfPads?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    pads?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    stationDescription?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    rectangleAttributes?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameId?: InstanceType<typeof StringFilter>;
}

@InputType()
export class StationSumAggregateInput {
    @Field(() => Boolean, {nullable:true})
    numOfPads?: true;
}

@ObjectType()
export class StationSumAggregate {
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
}

@InputType()
export class StationSumOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    numOfPads?: keyof typeof SortOrder;
}

@InputType()
export class StationUncheckedCreateNestedManyWithoutGameInput {
    @Field(() => [StationCreateWithoutGameInput], {nullable:true})
    create?: Array<StationCreateWithoutGameInput>;
    @Field(() => [StationCreateOrConnectWithoutGameInput], {nullable:true})
    connectOrCreate?: Array<StationCreateOrConnectWithoutGameInput>;
    @Field(() => StationCreateManyGameInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof StationCreateManyGameInputEnvelope>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    connect?: Array<StationWhereUniqueInput>;
}

@InputType()
export class StationUncheckedCreateWithoutGameInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
}

@InputType()
export class StationUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    stationName?: string;
    @Field(() => String, {nullable:true})
    padArrangementName?: string;
    @Field(() => String, {nullable:true})
    padArrangementImage?: string;
    @Field(() => Int, {nullable:true})
    numOfPads?: number;
    @Field(() => String, {nullable:true})
    pads?: string;
    @Field(() => String, {nullable:true})
    stationDescription?: string;
    @Field(() => String, {nullable:true})
    rectangleAttributes?: string;
    @Field(() => String, {nullable:false})
    gameId!: string;
}

@InputType()
export class StationUncheckedUpdateManyWithoutGameInput {
    @Field(() => [StationCreateWithoutGameInput], {nullable:true})
    create?: Array<StationCreateWithoutGameInput>;
    @Field(() => [StationCreateOrConnectWithoutGameInput], {nullable:true})
    connectOrCreate?: Array<StationCreateOrConnectWithoutGameInput>;
    @Field(() => [StationUpsertWithWhereUniqueWithoutGameInput], {nullable:true})
    upsert?: Array<StationUpsertWithWhereUniqueWithoutGameInput>;
    @Field(() => StationCreateManyGameInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof StationCreateManyGameInputEnvelope>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    set?: Array<StationWhereUniqueInput>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    disconnect?: Array<StationWhereUniqueInput>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    delete?: Array<StationWhereUniqueInput>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    connect?: Array<StationWhereUniqueInput>;
    @Field(() => [StationUpdateWithWhereUniqueWithoutGameInput], {nullable:true})
    update?: Array<StationUpdateWithWhereUniqueWithoutGameInput>;
    @Field(() => [StationUpdateManyWithWhereWithoutGameInput], {nullable:true})
    updateMany?: Array<StationUpdateManyWithWhereWithoutGameInput>;
    @Field(() => [StationScalarWhereInput], {nullable:true})
    deleteMany?: Array<StationScalarWhereInput>;
}

@InputType()
export class StationUncheckedUpdateManyWithoutStationsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementImage?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numOfPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    pads?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    rectangleAttributes?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
}

@InputType()
export class StationUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementImage?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numOfPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    pads?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    rectangleAttributes?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    gameId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class StationUncheckedUpdateWithoutGameInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementImage?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numOfPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    pads?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    rectangleAttributes?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
}

@InputType()
export class StationUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementImage?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numOfPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    pads?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    rectangleAttributes?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    gameId?: InstanceType<typeof StringFieldUpdateOperationsInput>;
}

@InputType()
export class StationUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementImage?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numOfPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    pads?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    rectangleAttributes?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
}

@InputType()
export class StationUpdateManyWithWhereWithoutGameInput {
    @Field(() => StationScalarWhereInput, {nullable:false})
    where!: InstanceType<typeof StationScalarWhereInput>;
    @Field(() => StationUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof StationUpdateManyMutationInput>;
}

@InputType()
export class StationUpdateManyWithoutGameInput {
    @Field(() => [StationCreateWithoutGameInput], {nullable:true})
    create?: Array<StationCreateWithoutGameInput>;
    @Field(() => [StationCreateOrConnectWithoutGameInput], {nullable:true})
    connectOrCreate?: Array<StationCreateOrConnectWithoutGameInput>;
    @Field(() => [StationUpsertWithWhereUniqueWithoutGameInput], {nullable:true})
    upsert?: Array<StationUpsertWithWhereUniqueWithoutGameInput>;
    @Field(() => StationCreateManyGameInputEnvelope, {nullable:true})
    createMany?: InstanceType<typeof StationCreateManyGameInputEnvelope>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    set?: Array<StationWhereUniqueInput>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    disconnect?: Array<StationWhereUniqueInput>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    delete?: Array<StationWhereUniqueInput>;
    @Field(() => [StationWhereUniqueInput], {nullable:true})
    connect?: Array<StationWhereUniqueInput>;
    @Field(() => [StationUpdateWithWhereUniqueWithoutGameInput], {nullable:true})
    update?: Array<StationUpdateWithWhereUniqueWithoutGameInput>;
    @Field(() => [StationUpdateManyWithWhereWithoutGameInput], {nullable:true})
    updateMany?: Array<StationUpdateManyWithWhereWithoutGameInput>;
    @Field(() => [StationScalarWhereInput], {nullable:true})
    deleteMany?: Array<StationScalarWhereInput>;
}

@InputType()
export class StationUpdateWithWhereUniqueWithoutGameInput {
    @Field(() => StationWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof StationWhereUniqueInput>;
    @Field(() => StationUpdateWithoutGameInput, {nullable:false})
    data!: InstanceType<typeof StationUpdateWithoutGameInput>;
}

@InputType()
export class StationUpdateWithoutGameInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementImage?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numOfPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    pads?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    rectangleAttributes?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
}

@InputType()
export class StationUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementName?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    padArrangementImage?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true})
    numOfPads?: InstanceType<typeof NullableIntFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    pads?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    stationDescription?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    rectangleAttributes?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => GameUpdateOneRequiredWithoutStationsInput, {nullable:true})
    game?: InstanceType<typeof GameUpdateOneRequiredWithoutStationsInput>;
}

@InputType()
export class StationUpsertWithWhereUniqueWithoutGameInput {
    @Field(() => StationWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof StationWhereUniqueInput>;
    @Field(() => StationUpdateWithoutGameInput, {nullable:false})
    update!: InstanceType<typeof StationUpdateWithoutGameInput>;
    @Field(() => StationCreateWithoutGameInput, {nullable:false})
    create!: InstanceType<typeof StationCreateWithoutGameInput>;
}

@InputType()
export class StationWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
}

@InputType()
export class StationWhereInput {
    @Field(() => [StationWhereInput], {nullable:true})
    AND?: Array<StationWhereInput>;
    @Field(() => [StationWhereInput], {nullable:true})
    OR?: Array<StationWhereInput>;
    @Field(() => [StationWhereInput], {nullable:true})
    NOT?: Array<StationWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    stationName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    padArrangementName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    padArrangementImage?: InstanceType<typeof StringFilter>;
    @Field(() => IntFilter, {nullable:true})
    numOfPads?: InstanceType<typeof IntFilter>;
    @Field(() => StringFilter, {nullable:true})
    pads?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    stationDescription?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    rectangleAttributes?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    gameId?: InstanceType<typeof StringFilter>;
    @Field(() => GameRelationFilter, {nullable:true})
    game?: InstanceType<typeof GameRelationFilter>;
}

@ObjectType()
export class Station {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => String, {nullable:true})
    stationName!: string | null;
    @Field(() => String, {nullable:true})
    padArrangementName!: string | null;
    @Field(() => String, {nullable:true})
    padArrangementImage!: string | null;
    @Field(() => Int, {nullable:true})
    numOfPads!: number | null;
    @Field(() => String, {nullable:true})
    pads!: string | null;
    @Field(() => String, {nullable:true})
    stationDescription!: string | null;
    @Field(() => String, {nullable:true})
    rectangleAttributes!: string | null;
    @Field(() => String, {nullable:false})
    gameId!: string;
    @Field(() => Game, {nullable:false})
    game?: InstanceType<typeof Game>;
}

@ArgsType()
export class UpdateManyStationArgs {
    @Field(() => StationUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof StationUpdateManyMutationInput>;
    @Field(() => StationWhereInput, {nullable:true})
    where?: InstanceType<typeof StationWhereInput>;
}

@ArgsType()
export class UpdateOneStationArgs {
    @Field(() => StationUpdateInput, {nullable:false})
    data!: InstanceType<typeof StationUpdateInput>;
    @Field(() => StationWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof StationWhereUniqueInput>;
}

@ArgsType()
export class UpsertOneStationArgs {
    @Field(() => StationWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof StationWhereUniqueInput>;
    @Field(() => StationCreateInput, {nullable:false})
    create!: InstanceType<typeof StationCreateInput>;
    @Field(() => StationUpdateInput, {nullable:false})
    update!: InstanceType<typeof StationUpdateInput>;
}

@ObjectType()
export class AggregateUser {
    @Field(() => UserCountAggregate, {nullable:true})
    _count?: InstanceType<typeof UserCountAggregate>;
    @Field(() => UserMinAggregate, {nullable:true})
    _min?: InstanceType<typeof UserMinAggregate>;
    @Field(() => UserMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof UserMaxAggregate>;
}

@ArgsType()
export class CreateManyUserArgs {
    @Field(() => [UserCreateManyInput], {nullable:false})
    data!: Array<UserCreateManyInput>;
    @Field(() => Boolean, {nullable:true})
    skipDuplicates?: boolean;
}

@ArgsType()
export class CreateOneUserArgs {
    @Field(() => UserCreateInput, {nullable:false})
    data!: InstanceType<typeof UserCreateInput>;
}

@ArgsType()
export class DeleteManyUserArgs {
    @Field(() => UserWhereInput, {nullable:true})
    where?: InstanceType<typeof UserWhereInput>;
}

@ArgsType()
export class DeleteOneUserArgs {
    @Field(() => UserWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof UserWhereUniqueInput>;
}

@ArgsType()
export class FindFirstUserArgs {
    @Field(() => UserWhereInput, {nullable:true})
    where?: InstanceType<typeof UserWhereInput>;
    @Field(() => [UserOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<UserOrderByWithRelationInput>;
    @Field(() => UserWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [UserScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof UserScalarFieldEnum>;
}

@ArgsType()
export class FindManyUserArgs {
    @Field(() => UserWhereInput, {nullable:true})
    where?: InstanceType<typeof UserWhereInput>;
    @Field(() => [UserOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<UserOrderByWithRelationInput>;
    @Field(() => UserWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => [UserScalarFieldEnum], {nullable:true})
    distinct?: Array<keyof typeof UserScalarFieldEnum>;
}

@ArgsType()
export class FindUniqueUserArgs {
    @Field(() => UserWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof UserWhereUniqueInput>;
}

@ArgsType()
export class UpdateManyUserArgs {
    @Field(() => UserUpdateManyMutationInput, {nullable:false})
    data!: InstanceType<typeof UserUpdateManyMutationInput>;
    @Field(() => UserWhereInput, {nullable:true})
    where?: InstanceType<typeof UserWhereInput>;
}

@ArgsType()
export class UpdateOneUserArgs {
    @Field(() => UserUpdateInput, {nullable:false})
    data!: InstanceType<typeof UserUpdateInput>;
    @Field(() => UserWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof UserWhereUniqueInput>;
}

@ArgsType()
export class UpsertOneUserArgs {
    @Field(() => UserWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => UserCreateInput, {nullable:false})
    create!: InstanceType<typeof UserCreateInput>;
    @Field(() => UserUpdateInput, {nullable:false})
    update!: InstanceType<typeof UserUpdateInput>;
}

@ArgsType()
export class UserAggregateArgs {
    @Field(() => UserWhereInput, {nullable:true})
    where?: InstanceType<typeof UserWhereInput>;
    @Field(() => [UserOrderByWithRelationInput], {nullable:true})
    orderBy?: Array<UserOrderByWithRelationInput>;
    @Field(() => UserWhereUniqueInput, {nullable:true})
    cursor?: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => UserCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof UserCountAggregateInput>;
    @Field(() => UserMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof UserMinAggregateInput>;
    @Field(() => UserMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof UserMaxAggregateInput>;
}

@InputType()
export class UserCountAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    emailVerifiedAt?: true;
    @Field(() => Boolean, {nullable:true})
    passwordHash?: true;
    @Field(() => Boolean, {nullable:true})
    avatar?: true;
    @Field(() => Boolean, {nullable:true})
    firstName?: true;
    @Field(() => Boolean, {nullable:true})
    lastName?: true;
    @Field(() => Boolean, {nullable:true})
    phoneNumber?: true;
    @Field(() => Boolean, {nullable:true})
    biography?: true;
    @Field(() => Boolean, {nullable:true})
    lastLoginAt?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    role?: true;
    @Field(() => Boolean, {nullable:true})
    _all?: true;
}

@ObjectType()
export class UserCountAggregate {
    @Field(() => Int, {nullable:false})
    id!: number;
    @Field(() => Int, {nullable:false})
    email!: number;
    @Field(() => Int, {nullable:false})
    emailVerifiedAt!: number;
    @HideField()
    passwordHash!: number;
    @Field(() => Int, {nullable:false})
    avatar!: number;
    @Field(() => Int, {nullable:false})
    firstName!: number;
    @Field(() => Int, {nullable:false})
    lastName!: number;
    @Field(() => Int, {nullable:false})
    phoneNumber!: number;
    @Field(() => Int, {nullable:false})
    biography!: number;
    @Field(() => Int, {nullable:false})
    lastLoginAt!: number;
    @Field(() => Int, {nullable:false})
    createdAt!: number;
    @Field(() => Int, {nullable:false})
    updatedAt!: number;
    @Field(() => Int, {nullable:false})
    role!: number;
    @Field(() => Int, {nullable:false})
    _all!: number;
}

@InputType()
export class UserCountOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    emailVerifiedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    passwordHash?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatar?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    biography?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastLoginAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    role?: keyof typeof SortOrder;
}

@ObjectType()
export class UserCount {
    @Field(() => Int, {nullable:false})
    clubs!: number;
    @Field(() => Int, {nullable:false})
    players!: number;
}

@InputType()
export class UserCreateManyInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @Field(() => String, {nullable:false})
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
}

@InputType()
export class UserCreateNestedOneWithoutClubsInput {
    @Field(() => UserCreateWithoutClubsInput, {nullable:true})
    create?: InstanceType<typeof UserCreateWithoutClubsInput>;
    @Field(() => UserCreateOrConnectWithoutClubsInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof UserCreateOrConnectWithoutClubsInput>;
    @Field(() => UserWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof UserWhereUniqueInput>;
}

@InputType()
export class UserCreateNestedOneWithoutPlayersInput {
    @Field(() => UserCreateWithoutPlayersInput, {nullable:true})
    create?: InstanceType<typeof UserCreateWithoutPlayersInput>;
    @Field(() => UserCreateOrConnectWithoutPlayersInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof UserCreateOrConnectWithoutPlayersInput>;
    @Field(() => UserWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof UserWhereUniqueInput>;
}

@InputType()
export class UserCreateOrConnectWithoutClubsInput {
    @Field(() => UserWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => UserCreateWithoutClubsInput, {nullable:false})
    create!: InstanceType<typeof UserCreateWithoutClubsInput>;
}

@InputType()
export class UserCreateOrConnectWithoutPlayersInput {
    @Field(() => UserWhereUniqueInput, {nullable:false})
    where!: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => UserCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof UserCreateWithoutPlayersInput>;
}

@InputType()
export class UserCreateWithoutClubsInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @Field(() => String, {nullable:false})
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => PlayerCreateNestedManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutOwnerInput>;
}

@InputType()
export class UserCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @Field(() => String, {nullable:false})
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => ClubCreateNestedManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubCreateNestedManyWithoutOwnerInput>;
}

@InputType()
export class UserCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @Field(() => String, {nullable:false})
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => ClubCreateNestedManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubCreateNestedManyWithoutOwnerInput>;
    @Field(() => PlayerCreateNestedManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerCreateNestedManyWithoutOwnerInput>;
}

@ArgsType()
export class UserGroupByArgs {
    @Field(() => UserWhereInput, {nullable:true})
    where?: InstanceType<typeof UserWhereInput>;
    @Field(() => [UserOrderByWithAggregationInput], {nullable:true})
    orderBy?: Array<UserOrderByWithAggregationInput>;
    @Field(() => [UserScalarFieldEnum], {nullable:false})
    by!: Array<keyof typeof UserScalarFieldEnum>;
    @Field(() => UserScalarWhereWithAggregatesInput, {nullable:true})
    having?: InstanceType<typeof UserScalarWhereWithAggregatesInput>;
    @Field(() => Int, {nullable:true})
    take?: number;
    @Field(() => Int, {nullable:true})
    skip?: number;
    @Field(() => UserCountAggregateInput, {nullable:true})
    _count?: InstanceType<typeof UserCountAggregateInput>;
    @Field(() => UserMinAggregateInput, {nullable:true})
    _min?: InstanceType<typeof UserMinAggregateInput>;
    @Field(() => UserMaxAggregateInput, {nullable:true})
    _max?: InstanceType<typeof UserMaxAggregateInput>;
}

@ObjectType()
export class UserGroupBy {
    @Field(() => String, {nullable:false})
    id!: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @HideField()
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:false})
    createdAt!: Date | string;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => UserCountAggregate, {nullable:true})
    _count?: InstanceType<typeof UserCountAggregate>;
    @Field(() => UserMinAggregate, {nullable:true})
    _min?: InstanceType<typeof UserMinAggregate>;
    @Field(() => UserMaxAggregate, {nullable:true})
    _max?: InstanceType<typeof UserMaxAggregate>;
}

@InputType()
export class UserMaxAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    emailVerifiedAt?: true;
    @Field(() => Boolean, {nullable:true})
    passwordHash?: true;
    @Field(() => Boolean, {nullable:true})
    avatar?: true;
    @Field(() => Boolean, {nullable:true})
    firstName?: true;
    @Field(() => Boolean, {nullable:true})
    lastName?: true;
    @Field(() => Boolean, {nullable:true})
    phoneNumber?: true;
    @Field(() => Boolean, {nullable:true})
    biography?: true;
    @Field(() => Boolean, {nullable:true})
    lastLoginAt?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    role?: true;
}

@ObjectType()
export class UserMaxAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    email?: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @HideField()
    passwordHash?: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:true})
    role?: keyof typeof Role;
}

@InputType()
export class UserMaxOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    emailVerifiedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    passwordHash?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatar?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    biography?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastLoginAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    role?: keyof typeof SortOrder;
}

@InputType()
export class UserMinAggregateInput {
    @Field(() => Boolean, {nullable:true})
    id?: true;
    @Field(() => Boolean, {nullable:true})
    email?: true;
    @Field(() => Boolean, {nullable:true})
    emailVerifiedAt?: true;
    @Field(() => Boolean, {nullable:true})
    passwordHash?: true;
    @Field(() => Boolean, {nullable:true})
    avatar?: true;
    @Field(() => Boolean, {nullable:true})
    firstName?: true;
    @Field(() => Boolean, {nullable:true})
    lastName?: true;
    @Field(() => Boolean, {nullable:true})
    phoneNumber?: true;
    @Field(() => Boolean, {nullable:true})
    biography?: true;
    @Field(() => Boolean, {nullable:true})
    lastLoginAt?: true;
    @Field(() => Boolean, {nullable:true})
    createdAt?: true;
    @Field(() => Boolean, {nullable:true})
    updatedAt?: true;
    @Field(() => Boolean, {nullable:true})
    role?: true;
}

@ObjectType()
export class UserMinAggregate {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    email?: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @HideField()
    passwordHash?: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:true})
    firstName?: string;
    @Field(() => String, {nullable:true})
    lastName?: string;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:true})
    role?: keyof typeof Role;
}

@InputType()
export class UserMinOrderByAggregateInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    emailVerifiedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    passwordHash?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatar?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    biography?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastLoginAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    role?: keyof typeof SortOrder;
}

@InputType()
export class UserOrderByWithAggregationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    emailVerifiedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    passwordHash?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatar?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    biography?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastLoginAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    role?: keyof typeof SortOrder;
    @Field(() => UserCountOrderByAggregateInput, {nullable:true})
    _count?: InstanceType<typeof UserCountOrderByAggregateInput>;
    @Field(() => UserMaxOrderByAggregateInput, {nullable:true})
    _max?: InstanceType<typeof UserMaxOrderByAggregateInput>;
    @Field(() => UserMinOrderByAggregateInput, {nullable:true})
    _min?: InstanceType<typeof UserMinOrderByAggregateInput>;
}

@InputType()
export class UserOrderByWithRelationInput {
    @Field(() => SortOrder, {nullable:true})
    id?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    email?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    emailVerifiedAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    passwordHash?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    avatar?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    firstName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastName?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    phoneNumber?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    biography?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    lastLoginAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    createdAt?: keyof typeof SortOrder;
    @Field(() => SortOrder, {nullable:true})
    updatedAt?: keyof typeof SortOrder;
    @Field(() => ClubOrderByRelationAggregateInput, {nullable:true})
    clubs?: InstanceType<typeof ClubOrderByRelationAggregateInput>;
    @Field(() => PlayerOrderByRelationAggregateInput, {nullable:true})
    players?: InstanceType<typeof PlayerOrderByRelationAggregateInput>;
    @Field(() => SortOrder, {nullable:true})
    role?: keyof typeof SortOrder;
}

@InputType()
export class UserRelationFilter {
    @Field(() => UserWhereInput, {nullable:true})
    is?: InstanceType<typeof UserWhereInput>;
    @Field(() => UserWhereInput, {nullable:true})
    isNot?: InstanceType<typeof UserWhereInput>;
}

@InputType()
export class UserScalarWhereWithAggregatesInput {
    @Field(() => [UserScalarWhereWithAggregatesInput], {nullable:true})
    AND?: Array<UserScalarWhereWithAggregatesInput>;
    @Field(() => [UserScalarWhereWithAggregatesInput], {nullable:true})
    OR?: Array<UserScalarWhereWithAggregatesInput>;
    @Field(() => [UserScalarWhereWithAggregatesInput], {nullable:true})
    NOT?: Array<UserScalarWhereWithAggregatesInput>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    id?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    email?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    passwordHash?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    avatar?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    firstName?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    lastName?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    phoneNumber?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => StringWithAggregatesFilter, {nullable:true})
    biography?: InstanceType<typeof StringWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    lastLoginAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => DateTimeWithAggregatesFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeWithAggregatesFilter>;
    @Field(() => EnumRoleWithAggregatesFilter, {nullable:true})
    role?: InstanceType<typeof EnumRoleWithAggregatesFilter>;
}

@InputType()
export class UserUncheckedCreateWithoutClubsInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @Field(() => String, {nullable:false})
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutOwnerInput>;
}

@InputType()
export class UserUncheckedCreateWithoutPlayersInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @Field(() => String, {nullable:false})
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => ClubUncheckedCreateNestedManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubUncheckedCreateNestedManyWithoutOwnerInput>;
}

@InputType()
export class UserUncheckedCreateInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt?: Date | string;
    @Field(() => String, {nullable:false})
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar?: string;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography?: string;
    @Field(() => Date, {nullable:true})
    lastLoginAt?: Date | string;
    @Field(() => Date, {nullable:true})
    createdAt?: Date | string;
    @Field(() => Date, {nullable:true})
    updatedAt?: Date | string;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => ClubUncheckedCreateNestedManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubUncheckedCreateNestedManyWithoutOwnerInput>;
    @Field(() => PlayerUncheckedCreateNestedManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedCreateNestedManyWithoutOwnerInput>;
}

@InputType()
export class UserUncheckedUpdateManyInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
}

@InputType()
export class UserUncheckedUpdateWithoutClubsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutOwnerInput>;
}

@InputType()
export class UserUncheckedUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
    @Field(() => ClubUncheckedUpdateManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubUncheckedUpdateManyWithoutOwnerInput>;
}

@InputType()
export class UserUncheckedUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
    @Field(() => ClubUncheckedUpdateManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubUncheckedUpdateManyWithoutOwnerInput>;
    @Field(() => PlayerUncheckedUpdateManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerUncheckedUpdateManyWithoutOwnerInput>;
}

@InputType()
export class UserUpdateManyMutationInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
}

@InputType()
export class UserUpdateOneRequiredWithoutClubsInput {
    @Field(() => UserCreateWithoutClubsInput, {nullable:true})
    create?: InstanceType<typeof UserCreateWithoutClubsInput>;
    @Field(() => UserCreateOrConnectWithoutClubsInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof UserCreateOrConnectWithoutClubsInput>;
    @Field(() => UserUpsertWithoutClubsInput, {nullable:true})
    upsert?: InstanceType<typeof UserUpsertWithoutClubsInput>;
    @Field(() => UserWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => UserUpdateWithoutClubsInput, {nullable:true})
    update?: InstanceType<typeof UserUpdateWithoutClubsInput>;
}

@InputType()
export class UserUpdateOneRequiredWithoutPlayersInput {
    @Field(() => UserCreateWithoutPlayersInput, {nullable:true})
    create?: InstanceType<typeof UserCreateWithoutPlayersInput>;
    @Field(() => UserCreateOrConnectWithoutPlayersInput, {nullable:true})
    connectOrCreate?: InstanceType<typeof UserCreateOrConnectWithoutPlayersInput>;
    @Field(() => UserUpsertWithoutPlayersInput, {nullable:true})
    upsert?: InstanceType<typeof UserUpsertWithoutPlayersInput>;
    @Field(() => UserWhereUniqueInput, {nullable:true})
    connect?: InstanceType<typeof UserWhereUniqueInput>;
    @Field(() => UserUpdateWithoutPlayersInput, {nullable:true})
    update?: InstanceType<typeof UserUpdateWithoutPlayersInput>;
}

@InputType()
export class UserUpdateWithoutClubsInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
    @Field(() => PlayerUpdateManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutOwnerInput>;
}

@InputType()
export class UserUpdateWithoutPlayersInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
    @Field(() => ClubUpdateManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubUpdateManyWithoutOwnerInput>;
}

@InputType()
export class UserUpdateInput {
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    id?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    email?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    passwordHash?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    avatar?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    firstName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    lastName?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => StringFieldUpdateOperationsInput, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFieldUpdateOperationsInput>;
    @Field(() => NullableStringFieldUpdateOperationsInput, {nullable:true})
    biography?: InstanceType<typeof NullableStringFieldUpdateOperationsInput>;
    @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true})
    lastLoginAt?: InstanceType<typeof NullableDateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => DateTimeFieldUpdateOperationsInput, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFieldUpdateOperationsInput>;
    @Field(() => EnumRoleFieldUpdateOperationsInput, {nullable:true})
    role?: InstanceType<typeof EnumRoleFieldUpdateOperationsInput>;
    @Field(() => ClubUpdateManyWithoutOwnerInput, {nullable:true})
    clubs?: InstanceType<typeof ClubUpdateManyWithoutOwnerInput>;
    @Field(() => PlayerUpdateManyWithoutOwnerInput, {nullable:true})
    players?: InstanceType<typeof PlayerUpdateManyWithoutOwnerInput>;
}

@InputType()
export class UserUpsertWithoutClubsInput {
    @Field(() => UserUpdateWithoutClubsInput, {nullable:false})
    update!: InstanceType<typeof UserUpdateWithoutClubsInput>;
    @Field(() => UserCreateWithoutClubsInput, {nullable:false})
    create!: InstanceType<typeof UserCreateWithoutClubsInput>;
}

@InputType()
export class UserUpsertWithoutPlayersInput {
    @Field(() => UserUpdateWithoutPlayersInput, {nullable:false})
    update!: InstanceType<typeof UserUpdateWithoutPlayersInput>;
    @Field(() => UserCreateWithoutPlayersInput, {nullable:false})
    create!: InstanceType<typeof UserCreateWithoutPlayersInput>;
}

@InputType()
export class UserWhereUniqueInput {
    @Field(() => String, {nullable:true})
    id?: string;
    @Field(() => String, {nullable:true})
    email?: string;
    @Field(() => String, {nullable:true})
    phoneNumber?: string;
}

@InputType()
export class UserWhereInput {
    @Field(() => [UserWhereInput], {nullable:true})
    AND?: Array<UserWhereInput>;
    @Field(() => [UserWhereInput], {nullable:true})
    OR?: Array<UserWhereInput>;
    @Field(() => [UserWhereInput], {nullable:true})
    NOT?: Array<UserWhereInput>;
    @Field(() => StringFilter, {nullable:true})
    id?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    email?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    emailVerifiedAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => StringFilter, {nullable:true})
    passwordHash?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    avatar?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    firstName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    lastName?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    phoneNumber?: InstanceType<typeof StringFilter>;
    @Field(() => StringFilter, {nullable:true})
    biography?: InstanceType<typeof StringFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    lastLoginAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    createdAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => DateTimeFilter, {nullable:true})
    updatedAt?: InstanceType<typeof DateTimeFilter>;
    @Field(() => ClubListRelationFilter, {nullable:true})
    clubs?: InstanceType<typeof ClubListRelationFilter>;
    @Field(() => PlayerListRelationFilter, {nullable:true})
    players?: InstanceType<typeof PlayerListRelationFilter>;
    @Field(() => EnumRoleFilter, {nullable:true})
    role?: InstanceType<typeof EnumRoleFilter>;
}

@ObjectType()
export class User {
    @Field(() => ID, {nullable:false})
    id!: string;
    @Field(() => String, {nullable:false})
    email!: string;
    @Field(() => Date, {nullable:true})
    emailVerifiedAt!: Date | null;
    @HideField()
    passwordHash!: string;
    @Field(() => String, {nullable:true})
    avatar!: string | null;
    @Field(() => String, {nullable:false})
    firstName!: string;
    @Field(() => String, {nullable:false})
    lastName!: string;
    @Field(() => String, {nullable:false})
    phoneNumber!: string;
    @Field(() => String, {nullable:true})
    biography!: string | null;
    @Field(() => Date, {nullable:true})
    lastLoginAt!: Date | null;
    @Field(() => Date, {nullable:false})
    createdAt!: Date;
    @Field(() => Date, {nullable:false})
    updatedAt!: Date;
    @Field(() => [Club], {nullable:true})
    clubs?: Array<Club>;
    @Field(() => [Player], {nullable:true})
    players?: Array<Player>;
    @Field(() => Role, {nullable:false})
    role!: keyof typeof Role;
    @Field(() => UserCount, {nullable:false})
    _count?: InstanceType<typeof UserCount>;
}
