/* 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 AssignUsersByTagsVariables = _Types.Exact<{
  exerciseId: _Types.Scalars['ID']['input'];
  tagPrefix: _Types.Scalars['String']['input'];
  userIds: Array<_Types.Scalars['ID']['input']> | _Types.Scalars['ID']['input'];
}>;


export type AssignUsersByTags = { assignUsersByTags: { operationDone: boolean | null } | null };


export const AssignUsersByTagsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"AssignUsersByTags"},"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":"tagPrefix"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"userIds"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignUsersByTags"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}},{"kind":"Argument","name":{"kind":"Name","value":"tagPrefix"},"value":{"kind":"Variable","name":{"kind":"Name","value":"tagPrefix"}}},{"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 AssignUsersByTagsMutationFn = Apollo.MutationFunction<AssignUsersByTags, AssignUsersByTagsVariables>;

/**
 * __useAssignUsersByTags__
 *
 * To run a mutation, you first call `useAssignUsersByTags` within a React component and pass it any options that fit your needs.
 * When your component renders, `useAssignUsersByTags` 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 [assignUsersByTags, { data, loading, error }] = useAssignUsersByTags({
 *   variables: {
 *      exerciseId: // value for 'exerciseId'
 *      tagPrefix: // value for 'tagPrefix'
 *      userIds: // value for 'userIds'
 *   },
 * });
 */
export function useAssignUsersByTags(baseOptions?: Apollo.MutationHookOptions<AssignUsersByTags, AssignUsersByTagsVariables>) {
        const options = {...defaultOptions, ...baseOptions}
        return Apollo.useMutation<AssignUsersByTags, AssignUsersByTagsVariables>(AssignUsersByTagsDocument, options);
      }
export type AssignUsersByTagsHookResult = ReturnType<typeof useAssignUsersByTags>;
export type AssignUsersByTagsMutationResult = Apollo.MutationResult<AssignUsersByTags>;
export type AssignUsersByTagsMutationOptions = Apollo.BaseMutationOptions<AssignUsersByTags, AssignUsersByTagsVariables>;