import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
  ID: { input: string; output: string; }
  String: { input: string; output: string; }
  Boolean: { input: boolean; output: boolean; }
  Int: { input: number; output: number; }
  Float: { input: number; output: number; }
  DateTime: { input: string; output: string; }
};

export type InviteMemberInput = {
  email: Scalars['String']['input'];
  role?: InputMaybe<Scalars['String']['input']>;
};

export type InviteMemberMutation = {
  __typename?: 'InviteMemberMutation';
  message?: Maybe<Scalars['String']['output']>;
  success?: Maybe<Scalars['Boolean']['output']>;
};

export type Team = {
  __typename?: 'Team';
  createdAt: Scalars['DateTime']['output'];
  id?: Maybe<Scalars['String']['output']>;
  logtoOrgId?: Maybe<Scalars['String']['output']>;
  members?: Maybe<Array<Maybe<TeamMember>>>;
  name: Scalars['String']['output'];
  owner?: Maybe<User>;
  ownerId?: Maybe<Scalars['String']['output']>;
  status: TeamsAppTeamStatusChoices;
  updatedAt: Scalars['DateTime']['output'];
  uuid: Scalars['String']['output'];
};

export type TeamMember = {
  __typename?: 'TeamMember';
  joinedAt?: Maybe<Scalars['String']['output']>;
  role: TeamsAppTeamMemberRoleChoices;
  user?: Maybe<User>;
};

export type TeamMutation = {
  __typename?: 'TeamMutation';
  inviteMember?: Maybe<InviteMemberMutation>;
};


export type TeamMutationInviteMemberArgs = {
  input: InviteMemberInput;
};

export type TeamQuery = {
  __typename?: 'TeamQuery';
  getTeam?: Maybe<Team>;
  team?: Maybe<Team>;
  teamMembers?: Maybe<Array<Maybe<TeamMember>>>;
};


export type TeamQueryGetTeamArgs = {
  teamId: Scalars['String']['input'];
};

/** An enumeration. */
export enum TeamsAppTeamMemberRoleChoices {
  /** Администратор */
  Admin = 'ADMIN',
  /** Менеджер */
  Manager = 'MANAGER',
  /** Участник */
  Member = 'MEMBER',
  /** Владелец */
  Owner = 'OWNER'
}

/** An enumeration. */
export enum TeamsAppTeamStatusChoices {
  /** KYC одобрен */
  KycApproved = 'KYC_APPROVED',
  /** KYC на рассмотрении */
  KycInReview = 'KYC_IN_REVIEW',
  /** KYC отклонен */
  KycRejected = 'KYC_REJECTED',
  /** Требуется KYC */
  PendingKyc = 'PENDING_KYC',
  /** Заблокировано */
  Suspended = 'SUSPENDED'
}

export type User = {
  __typename?: 'User';
  avatarId?: Maybe<Scalars['String']['output']>;
  createdAt?: Maybe<Scalars['String']['output']>;
  email: Scalars['String']['output'];
  firstName?: Maybe<Scalars['String']['output']>;
  id?: Maybe<Scalars['String']['output']>;
  lastName?: Maybe<Scalars['String']['output']>;
  phone?: Maybe<Scalars['String']['output']>;
  /** Обязательное поле. Не более 150 символов. Только буквы, цифры и символы @/./+/-/_. */
  username: Scalars['String']['output'];
};

export type GetTeamMembersQueryVariables = Exact<{ [key: string]: never; }>;


export type GetTeamMembersQuery = { __typename?: 'TeamQuery', teamMembers?: Array<{ __typename?: 'TeamMember', role: TeamsAppTeamMemberRoleChoices, joinedAt?: string | null, user?: { __typename?: 'User', id?: string | null, firstName?: string | null, lastName?: string | null, phone?: string | null, avatarId?: string | null } | null } | null> | null };

export type InviteMemberMutationVariables = Exact<{
  input: InviteMemberInput;
}>;


export type InviteMemberMutation = { __typename?: 'TeamMutation', inviteMember?: { __typename?: 'InviteMemberMutation', success?: boolean | null, message?: string | null } | null };


export const GetTeamMembersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeamMembers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamMembers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"joinedAt"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"phone"}},{"kind":"Field","name":{"kind":"Name","value":"avatarId"}}]}}]}}]}}]} as unknown as DocumentNode<GetTeamMembersQuery, GetTeamMembersQueryVariables>;
export const InviteMemberDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"InviteMember"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"InviteMemberInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"inviteMember"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]} as unknown as DocumentNode<InviteMemberMutation, InviteMemberMutationVariables>;