/* 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 RemoveDefinitionAccessVariables = _Types.Exact<{
  definitionId: _Types.Scalars['ID']['input'];
  userIds: Array<_Types.InputMaybe<_Types.Scalars['ID']['input']>> | _Types.InputMaybe<_Types.Scalars['ID']['input']>;
}>;


export type RemoveDefinitionAccess = { removeDefinitionAccess: { operationDone: boolean | null } | null };


export const RemoveDefinitionAccessDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"RemoveDefinitionAccess"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"definitionId"}},"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":"removeDefinitionAccess"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"definitionId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"definitionId"}}},{"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 RemoveDefinitionAccessMutationFn = Apollo.MutationFunction<RemoveDefinitionAccess, RemoveDefinitionAccessVariables>;

/**
 * __useRemoveDefinitionAccess__
 *
 * To run a mutation, you first call `useRemoveDefinitionAccess` within a React component and pass it any options that fit your needs.
 * When your component renders, `useRemoveDefinitionAccess` 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 [removeDefinitionAccess, { data, loading, error }] = useRemoveDefinitionAccess({
 *   variables: {
 *      definitionId: // value for 'definitionId'
 *      userIds: // value for 'userIds'
 *   },
 * });
 */
export function useRemoveDefinitionAccess(baseOptions?: Apollo.MutationHookOptions<RemoveDefinitionAccess, RemoveDefinitionAccessVariables>) {
        const options = {...defaultOptions, ...baseOptions}
        return Apollo.useMutation<RemoveDefinitionAccess, RemoveDefinitionAccessVariables>(RemoveDefinitionAccessDocument, options);
      }
export type RemoveDefinitionAccessHookResult = ReturnType<typeof useRemoveDefinitionAccess>;
export type RemoveDefinitionAccessMutationResult = Apollo.MutationResult<RemoveDefinitionAccess>;
export type RemoveDefinitionAccessMutationOptions = Apollo.BaseMutationOptions<RemoveDefinitionAccess, RemoveDefinitionAccessVariables>;