/* eslint-disable */
//@ts-nocheck
import type * as _Types from '../types';

import type { DocumentNode } from 'graphql';
import * as Apollo from '@apollo/client';
const defaultOptions = {} as const;
export type AssignInstructorsToExerciseVariables = _Types.Exact<{
  exerciseId: _Types.Scalars['ID']['input'];
  userIds: Array<_Types.InputMaybe<_Types.Scalars['ID']['input']>> | _Types.InputMaybe<_Types.Scalars['ID']['input']>;
}>;


export type AssignInstructorsToExercise = { assignInstructorsToExercise: { operationDone: boolean | null } | null };


export const AssignInstructorsToExerciseDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"AssignInstructorsToExercise"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"userIds"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignInstructorsToExercise"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}},{"kind":"Argument","name":{"kind":"Name","value":"userIds"},"value":{"kind":"Variable","name":{"kind":"Name","value":"userIds"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
export type AssignInstructorsToExerciseMutationFn = Apollo.MutationFunction<AssignInstructorsToExercise, AssignInstructorsToExerciseVariables>;

/**
 * __useAssignInstructorsToExercise__
 *
 * To run a mutation, you first call `useAssignInstructorsToExercise` within a React component and pass it any options that fit your needs.
 * When your component renders, `useAssignInstructorsToExercise` returns a tuple that includes:
 * - A mutate function that you can call at any time to execute the mutation
 * - An object with fields that represent the current status of the mutation's execution
 *
 * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
 *
 * @example
 * const [assignInstructorsToExercise, { data, loading, error }] = useAssignInstructorsToExercise({
 *   variables: {
 *      exerciseId: // value for 'exerciseId'
 *      userIds: // value for 'userIds'
 *   },
 * });
 */
export function useAssignInstructorsToExercise(baseOptions?: Apollo.MutationHookOptions<AssignInstructorsToExercise, AssignInstructorsToExerciseVariables>) {
        const options = {...defaultOptions, ...baseOptions}
        return Apollo.useMutation<AssignInstructorsToExercise, AssignInstructorsToExerciseVariables>(AssignInstructorsToExerciseDocument, options);
      }
export type AssignInstructorsToExerciseHookResult = ReturnType<typeof useAssignInstructorsToExercise>;
export type AssignInstructorsToExerciseMutationResult = Apollo.MutationResult<AssignInstructorsToExercise>;
export type AssignInstructorsToExerciseMutationOptions = Apollo.BaseMutationOptions<AssignInstructorsToExercise, AssignInstructorsToExerciseVariables>;