/* eslint-disable */
import * as types from './graphql';
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';

/**
 * Map of all GraphQL operations in the project.
 *
 * This map has several performance disadvantages:
 * 1. It is not tree-shakeable, so it will include all operations in the project.
 * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.
 * 3. It does not support dead code elimination, so it will add unused operations.
 *
 * Therefore it is highly recommended to use the babel or swc plugin for production.
 */
const documents = {
    "\n  fragment ChapterHighlightsFragment on ChapterNode {\n    id\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n": types.ChapterHighlightsFragmentFragmentDoc,
    "\n  fragment HighlightParts on HighlightNode {\n    id\n    contentIndex\n    paragraphIndex\n    selectionLength\n    contentUuid\n    startPosition\n    color\n    note {\n      text\n    }\n    text\n    page {\n      # only one of them should be necessary, but the client somehow doesn't like just the Node inline fragment\n      __typename\n      ... on ContentBlockNode {\n        id\n        path\n      }\n      ... on InstrumentNode {\n        id\n        slug\n      }\n      ... on ModuleNode {\n        id\n        slug\n        path\n      }\n      ... on ChapterNode {\n        id\n        path\n        slug\n      }\n    }\n  }\n": types.HighlightPartsFragmentDoc,
    "\n  fragment ContentBlockHighlightsFragment on ContentBlockNode {\n    id\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n": types.ContentBlockHighlightsFragmentFragmentDoc,
    "\n    query LanguageQuery {\n      me {\n        language @client\n      }\n    }\n  ": types.LanguageQueryDocument,
    "\n    mutation SetLanguage($language: String!) {\n      setLanguage(language: $language) @client {\n        language\n      }\n    }\n  ": types.SetLanguageDocument,
    "\n        query ReadOnlyQuery {\n          me {\n            readOnly\n            selectedClass {\n              readOnly\n            }\n          }\n        }\n      ": types.ReadOnlyQueryDocument,
    "\n  fragment SubmissionParts on StudentSubmissionNode {\n    id\n    text\n    final\n    document\n    submissionFeedback {\n      id\n      text\n      teacher {\n        firstName\n        lastName\n      }\n    }\n  }\n": types.SubmissionPartsFragmentDoc,
    "\n  fragment AssignmentParts on AssignmentNode {\n    id\n    title\n    assignment\n    solution\n    submission {\n      ...SubmissionParts\n    }\n  }\n": types.AssignmentPartsFragmentDoc,
    "\n    query AssignmentQuery($id: ID!) {\n      assignment(id: $id) {\n        ...AssignmentParts\n      }\n    }\n  ": types.AssignmentQueryDocument,
    "\n    mutation UpdateAssignment($input: UpdateAssignmentInput!) {\n      updateAssignment(input: $input) {\n        updatedAssignment {\n          ...AssignmentParts\n        }\n      }\n    }\n  ": types.UpdateAssignmentDocument,
    "\n    mutation UpdateAssignmentWithSuccess($input: UpdateAssignmentInput!) {\n      updateAssignment(input: $input) {\n        successful\n        updatedAssignment {\n          ...AssignmentParts\n        }\n      }\n    }\n  ": types.UpdateAssignmentWithSuccessDocument,
    "\n    mutation SpellCheck($input: SpellCheckInput!) {\n      spellCheck(input: $input) {\n        correct\n        results {\n          sentence\n          offset\n          sentenceOffset\n          length\n          affected\n          corrected\n        }\n      }\n    }\n  ": types.SpellCheckDocument,
    "\n  fragment ModuleHighlightsFragment on ModuleNode {\n    id\n    __typename\n    slug\n    highlights {\n      ...HighlightParts\n    }\n  }\n": types.ModuleHighlightsFragmentFragmentDoc,
    "\n  fragment ModuleLevelFragment on ModuleLevelNode {\n    name\n    id\n    filterAttributeType\n  }\n": types.ModuleLevelFragmentFragmentDoc,
    "\n    query ModuleFilterQuery {\n      moduleLevels {\n        ...ModuleLevelFragment\n      }\n      moduleCategories {\n        name\n        id\n        filterAttributeType\n      }\n      me {\n        language @client\n      }\n    }\n  ": types.ModuleFilterQueryDocument,
    "\n    mutation UpdateLastModuleLevelMutation($input: UpdateLastModuleLevelInput!) {\n      updateLastModuleLevel(input: $input) {\n        clientMutationId\n        user {\n          username\n          id\n          lastModuleLevel {\n            ...ModuleLevelFragment\n          }\n        }\n      }\n    }\n  ": types.UpdateLastModuleLevelMutationDocument,
    "\n    query ModuleTitleQuery($slug: String) {\n      module(slug: $slug) {\n        title\n      }\n    }\n  ": types.ModuleTitleQueryDocument,
    "\n  fragment SnapshotListItem on SnapshotNode {\n    shared\n  }\n": types.SnapshotListItemFragmentDoc,
    "\n  fragment SnapshotTitleFragment on SnapshotNode {\n    title\n  }\n": types.SnapshotTitleFragmentFragmentDoc,
    "\n  fragment SnapshotDetailsFragment on SnapshotNode {\n    id\n    title\n    shared\n    created\n    creator\n    mine\n  }\n": types.SnapshotDetailsFragmentFragmentDoc,
    "\n  query ModuleEditModeQuery($slug: String) {\n    module(slug: $slug) {\n      inEditMode @client\n      slug\n    }\n  }\n": types.ModuleEditModeQueryDocument,
    "\n  mutation DeleteHighlight($input: DeleteHighlightInput!) {\n    deleteHighlight(input: $input) {\n      success\n    }\n  }\n": types.DeleteHighlightDocument,
    "\n  mutation UpdateHighlight($input: UpdateHighlightInput!) {\n    updateHighlight(input: $input) {\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n": types.UpdateHighlightDocument,
    "\n  mutation AddHighlight($input: AddHighlightInput!) {\n    addHighlight(input: $input) {\n      __typename\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n": types.AddHighlightDocument,
    "\n  mutation AddContentHighlight($input: AddContentHighlightInput!) {\n    addContentHighlight(input: $input) {\n      __typename\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n": types.AddContentHighlightDocument,
    "\n  fragment SchoolClassParts on SchoolClassNode {\n    id\n    name\n  }\n": types.SchoolClassPartsFragmentDoc,
    "\n  fragment UserParts on PrivateUserNode {\n    id\n    pk\n    username\n    email\n    firstName\n    lastName\n    avatarUrl\n    expiryDate\n    readOnly\n    lastModuleLevel {\n      id\n      name\n      filterAttributeType\n    }\n    lastModule {\n      id\n      slug\n    }\n    lastTopic {\n      id\n      slug\n    }\n    selectedClass {\n      id\n      readOnly\n    }\n    recentModules(orderBy: \"-visited\") {\n      edges {\n        node {\n          ...ModuleParts\n        }\n      }\n    }\n    schoolClasses {\n      ...SchoolClassParts\n    }\n  }\n": types.UserPartsFragmentDoc,
    "\n  fragment TeamParts on TeamNode {\n    name\n    code\n    id\n    members {\n      firstName\n      lastName\n      id\n      isMe\n    }\n  }\n": types.TeamPartsFragmentDoc,
    "\n  fragment ModuleParts on ModuleNode {\n    id\n    title\n    metaTitle\n    teaser\n    intro\n    slug\n    heroImage\n    heroSource\n    solutionsEnabled\n    highlights {\n      ...HighlightParts\n    }\n    language\n    inEditMode @client\n    level {\n      id\n      name\n    }\n    category {\n      id\n      name\n    }\n    topic {\n      slug\n      title\n    }\n    bookmark {\n      note {\n        id\n        text\n      }\n    }\n  }\n": types.ModulePartsFragmentDoc,
    "\n    query MeQuery {\n      me {\n        ...UserParts\n        team {\n          ...TeamParts\n        }\n        isTeacher\n        permissions\n        onboardingVisited\n      }\n    }\n  ": types.MeQueryDocument,
    "\n    fragment InstrumentHighlightsWithIdOnlyFragment on InstrumentNode {\n      highlights {\n        id\n      }\n    }\n  ": types.InstrumentHighlightsWithIdOnlyFragmentFragmentDoc,
    "\n    fragment ChapterHighlightsWithIdOnlyFragment on ChapterNode {\n      highlights {\n        id\n      }\n    }\n  ": types.ChapterHighlightsWithIdOnlyFragmentFragmentDoc,
    "\n    fragment ModuleHighlightsWithIdOnlyFragment on ModuleNode {\n      highlights {\n        id\n      }\n    }\n  ": types.ModuleHighlightsWithIdOnlyFragmentFragmentDoc,
    "\n    fragment ContentBlockHighlightsWithIdOnlyFragment on ContentBlockNode {\n      highlights {\n        id\n      }\n    }\n  ": types.ContentBlockHighlightsWithIdOnlyFragmentFragmentDoc,
    "\n      mutation UpdateInstrumentBookmark($input: UpdateInstrumentBookmarkInput!) {\n        updateInstrumentBookmark(input: $input) {\n          success\n        }\n      }\n    ": types.UpdateInstrumentBookmarkDocument,
    "\n      mutation UpdateContentBookmark($input: UpdateContentBookmarkInput!) {\n        updateContentBookmark(input: $input) {\n          success\n        }\n      }\n    ": types.UpdateContentBookmarkDocument,
    "\n    query MyActivitiesQuery {\n      myActivities {\n        instruments {\n          id\n          slug\n          title\n          path\n          highlights {\n            ...HighlightParts\n          }\n          bookmarks {\n            ... on InstrumentBookmarkNode {\n              path\n              content\n            }\n          }\n        }\n        topics {\n          id\n          title\n          modules {\n            id\n            slug\n            title\n            metaTitle\n            myHighlights {\n              ...HighlightParts\n            }\n            myBookmarks {\n              ... on ChapterBookmarkNode {\n                chapter {\n                  path\n                }\n                path\n                content\n                note {\n                  id\n                  text\n                }\n              }\n              ... on ContentBlockBookmarkNode {\n                id\n                uuid\n                path\n                content\n                contentBlock {\n                  id\n                  path\n                }\n                note {\n                  id\n                  text\n                }\n              }\n              ... on ModuleBookmarkNode {\n                path\n                content\n                note {\n                  id\n                  text\n                }\n              }\n            }\n            mySubmissions {\n              id\n              text\n              assignment {\n                id\n                title\n                path\n                module {\n                  slug\n                }\n              }\n            }\n            myAnswers {\n              id\n              survey {\n                path\n                id\n                title\n              }\n            }\n          }\n        }\n      }\n    }\n  ": types.MyActivitiesQueryDocument,
    "\n    query ChapterQuery($id: ID!) {\n      chapter(id: $id) {\n        path\n      }\n    }\n  ": types.ChapterQueryDocument,
    "\n    query ContentBlockQuery($id: ID!) {\n      contentBlock(id: $id) {\n        path\n      }\n    }\n  ": types.ContentBlockQueryDocument,
    "\n  fragment InstrumentParts on InstrumentNode {\n    id\n    title\n    intro\n    slug\n    language\n    bookmarks {\n      uuid\n      note {\n        id\n        text\n      }\n    }\n    type {\n      id\n      name\n      category {\n        id\n        name\n        foreground\n        background\n      }\n      type\n    }\n    contents\n    highlights {\n      ...HighlightParts\n    }\n  }\n": types.InstrumentPartsFragmentDoc,
    "\n    query InstrumentQuery($slug: String!) {\n      instrument(slug: $slug) {\n        ...InstrumentParts\n      }\n    }\n  ": types.InstrumentQueryDocument,
    "\n  fragment instrumentHighlightsFragment on InstrumentNode {\n    id\n    slug\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n": types.InstrumentHighlightsFragmentFragmentDoc,
    "\n        query MeLanguage {\n          me {\n            language @client\n          }\n        }\n      ": types.MeLanguageDocument,
    "\n    query ModuleSnapshotsQuery($slug: String!) {\n      module(slug: $slug) {\n        id\n        title\n        metaTitle\n        slug\n        topic {\n          title\n        }\n        snapshots {\n          ...SnapshotDetailsFragment\n        }\n      }\n    }\n  ": types.ModuleSnapshotsQueryDocument,
    "\n  query ModuleSolutions($slug: String) {\n    module(slug: $slug) {\n      solutionsEnabled\n      slug\n    }\n  }\n": types.ModuleSolutionsDocument,
};

/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 *
 *
 * @example
 * ```ts
 * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);
 * ```
 *
 * The query argument is unknown!
 * Please regenerate the types.
 */
export function graphql(source: string): unknown;

/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment ChapterHighlightsFragment on ChapterNode {\n    id\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n"): (typeof documents)["\n  fragment ChapterHighlightsFragment on ChapterNode {\n    id\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment HighlightParts on HighlightNode {\n    id\n    contentIndex\n    paragraphIndex\n    selectionLength\n    contentUuid\n    startPosition\n    color\n    note {\n      text\n    }\n    text\n    page {\n      # only one of them should be necessary, but the client somehow doesn't like just the Node inline fragment\n      __typename\n      ... on ContentBlockNode {\n        id\n        path\n      }\n      ... on InstrumentNode {\n        id\n        slug\n      }\n      ... on ModuleNode {\n        id\n        slug\n        path\n      }\n      ... on ChapterNode {\n        id\n        path\n        slug\n      }\n    }\n  }\n"): (typeof documents)["\n  fragment HighlightParts on HighlightNode {\n    id\n    contentIndex\n    paragraphIndex\n    selectionLength\n    contentUuid\n    startPosition\n    color\n    note {\n      text\n    }\n    text\n    page {\n      # only one of them should be necessary, but the client somehow doesn't like just the Node inline fragment\n      __typename\n      ... on ContentBlockNode {\n        id\n        path\n      }\n      ... on InstrumentNode {\n        id\n        slug\n      }\n      ... on ModuleNode {\n        id\n        slug\n        path\n      }\n      ... on ChapterNode {\n        id\n        path\n        slug\n      }\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment ContentBlockHighlightsFragment on ContentBlockNode {\n    id\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n"): (typeof documents)["\n  fragment ContentBlockHighlightsFragment on ContentBlockNode {\n    id\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query LanguageQuery {\n      me {\n        language @client\n      }\n    }\n  "): (typeof documents)["\n    query LanguageQuery {\n      me {\n        language @client\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    mutation SetLanguage($language: String!) {\n      setLanguage(language: $language) @client {\n        language\n      }\n    }\n  "): (typeof documents)["\n    mutation SetLanguage($language: String!) {\n      setLanguage(language: $language) @client {\n        language\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n        query ReadOnlyQuery {\n          me {\n            readOnly\n            selectedClass {\n              readOnly\n            }\n          }\n        }\n      "): (typeof documents)["\n        query ReadOnlyQuery {\n          me {\n            readOnly\n            selectedClass {\n              readOnly\n            }\n          }\n        }\n      "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment SubmissionParts on StudentSubmissionNode {\n    id\n    text\n    final\n    document\n    submissionFeedback {\n      id\n      text\n      teacher {\n        firstName\n        lastName\n      }\n    }\n  }\n"): (typeof documents)["\n  fragment SubmissionParts on StudentSubmissionNode {\n    id\n    text\n    final\n    document\n    submissionFeedback {\n      id\n      text\n      teacher {\n        firstName\n        lastName\n      }\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment AssignmentParts on AssignmentNode {\n    id\n    title\n    assignment\n    solution\n    submission {\n      ...SubmissionParts\n    }\n  }\n"): (typeof documents)["\n  fragment AssignmentParts on AssignmentNode {\n    id\n    title\n    assignment\n    solution\n    submission {\n      ...SubmissionParts\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query AssignmentQuery($id: ID!) {\n      assignment(id: $id) {\n        ...AssignmentParts\n      }\n    }\n  "): (typeof documents)["\n    query AssignmentQuery($id: ID!) {\n      assignment(id: $id) {\n        ...AssignmentParts\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    mutation UpdateAssignment($input: UpdateAssignmentInput!) {\n      updateAssignment(input: $input) {\n        updatedAssignment {\n          ...AssignmentParts\n        }\n      }\n    }\n  "): (typeof documents)["\n    mutation UpdateAssignment($input: UpdateAssignmentInput!) {\n      updateAssignment(input: $input) {\n        updatedAssignment {\n          ...AssignmentParts\n        }\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    mutation UpdateAssignmentWithSuccess($input: UpdateAssignmentInput!) {\n      updateAssignment(input: $input) {\n        successful\n        updatedAssignment {\n          ...AssignmentParts\n        }\n      }\n    }\n  "): (typeof documents)["\n    mutation UpdateAssignmentWithSuccess($input: UpdateAssignmentInput!) {\n      updateAssignment(input: $input) {\n        successful\n        updatedAssignment {\n          ...AssignmentParts\n        }\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    mutation SpellCheck($input: SpellCheckInput!) {\n      spellCheck(input: $input) {\n        correct\n        results {\n          sentence\n          offset\n          sentenceOffset\n          length\n          affected\n          corrected\n        }\n      }\n    }\n  "): (typeof documents)["\n    mutation SpellCheck($input: SpellCheckInput!) {\n      spellCheck(input: $input) {\n        correct\n        results {\n          sentence\n          offset\n          sentenceOffset\n          length\n          affected\n          corrected\n        }\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment ModuleHighlightsFragment on ModuleNode {\n    id\n    __typename\n    slug\n    highlights {\n      ...HighlightParts\n    }\n  }\n"): (typeof documents)["\n  fragment ModuleHighlightsFragment on ModuleNode {\n    id\n    __typename\n    slug\n    highlights {\n      ...HighlightParts\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment ModuleLevelFragment on ModuleLevelNode {\n    name\n    id\n    filterAttributeType\n  }\n"): (typeof documents)["\n  fragment ModuleLevelFragment on ModuleLevelNode {\n    name\n    id\n    filterAttributeType\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query ModuleFilterQuery {\n      moduleLevels {\n        ...ModuleLevelFragment\n      }\n      moduleCategories {\n        name\n        id\n        filterAttributeType\n      }\n      me {\n        language @client\n      }\n    }\n  "): (typeof documents)["\n    query ModuleFilterQuery {\n      moduleLevels {\n        ...ModuleLevelFragment\n      }\n      moduleCategories {\n        name\n        id\n        filterAttributeType\n      }\n      me {\n        language @client\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    mutation UpdateLastModuleLevelMutation($input: UpdateLastModuleLevelInput!) {\n      updateLastModuleLevel(input: $input) {\n        clientMutationId\n        user {\n          username\n          id\n          lastModuleLevel {\n            ...ModuleLevelFragment\n          }\n        }\n      }\n    }\n  "): (typeof documents)["\n    mutation UpdateLastModuleLevelMutation($input: UpdateLastModuleLevelInput!) {\n      updateLastModuleLevel(input: $input) {\n        clientMutationId\n        user {\n          username\n          id\n          lastModuleLevel {\n            ...ModuleLevelFragment\n          }\n        }\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query ModuleTitleQuery($slug: String) {\n      module(slug: $slug) {\n        title\n      }\n    }\n  "): (typeof documents)["\n    query ModuleTitleQuery($slug: String) {\n      module(slug: $slug) {\n        title\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment SnapshotListItem on SnapshotNode {\n    shared\n  }\n"): (typeof documents)["\n  fragment SnapshotListItem on SnapshotNode {\n    shared\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment SnapshotTitleFragment on SnapshotNode {\n    title\n  }\n"): (typeof documents)["\n  fragment SnapshotTitleFragment on SnapshotNode {\n    title\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment SnapshotDetailsFragment on SnapshotNode {\n    id\n    title\n    shared\n    created\n    creator\n    mine\n  }\n"): (typeof documents)["\n  fragment SnapshotDetailsFragment on SnapshotNode {\n    id\n    title\n    shared\n    created\n    creator\n    mine\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  query ModuleEditModeQuery($slug: String) {\n    module(slug: $slug) {\n      inEditMode @client\n      slug\n    }\n  }\n"): (typeof documents)["\n  query ModuleEditModeQuery($slug: String) {\n    module(slug: $slug) {\n      inEditMode @client\n      slug\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  mutation DeleteHighlight($input: DeleteHighlightInput!) {\n    deleteHighlight(input: $input) {\n      success\n    }\n  }\n"): (typeof documents)["\n  mutation DeleteHighlight($input: DeleteHighlightInput!) {\n    deleteHighlight(input: $input) {\n      success\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  mutation UpdateHighlight($input: UpdateHighlightInput!) {\n    updateHighlight(input: $input) {\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n"): (typeof documents)["\n  mutation UpdateHighlight($input: UpdateHighlightInput!) {\n    updateHighlight(input: $input) {\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  mutation AddHighlight($input: AddHighlightInput!) {\n    addHighlight(input: $input) {\n      __typename\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n"): (typeof documents)["\n  mutation AddHighlight($input: AddHighlightInput!) {\n    addHighlight(input: $input) {\n      __typename\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  mutation AddContentHighlight($input: AddContentHighlightInput!) {\n    addContentHighlight(input: $input) {\n      __typename\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n"): (typeof documents)["\n  mutation AddContentHighlight($input: AddContentHighlightInput!) {\n    addContentHighlight(input: $input) {\n      __typename\n      highlight {\n        ...HighlightParts\n      }\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment SchoolClassParts on SchoolClassNode {\n    id\n    name\n  }\n"): (typeof documents)["\n  fragment SchoolClassParts on SchoolClassNode {\n    id\n    name\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment UserParts on PrivateUserNode {\n    id\n    pk\n    username\n    email\n    firstName\n    lastName\n    avatarUrl\n    expiryDate\n    readOnly\n    lastModuleLevel {\n      id\n      name\n      filterAttributeType\n    }\n    lastModule {\n      id\n      slug\n    }\n    lastTopic {\n      id\n      slug\n    }\n    selectedClass {\n      id\n      readOnly\n    }\n    recentModules(orderBy: \"-visited\") {\n      edges {\n        node {\n          ...ModuleParts\n        }\n      }\n    }\n    schoolClasses {\n      ...SchoolClassParts\n    }\n  }\n"): (typeof documents)["\n  fragment UserParts on PrivateUserNode {\n    id\n    pk\n    username\n    email\n    firstName\n    lastName\n    avatarUrl\n    expiryDate\n    readOnly\n    lastModuleLevel {\n      id\n      name\n      filterAttributeType\n    }\n    lastModule {\n      id\n      slug\n    }\n    lastTopic {\n      id\n      slug\n    }\n    selectedClass {\n      id\n      readOnly\n    }\n    recentModules(orderBy: \"-visited\") {\n      edges {\n        node {\n          ...ModuleParts\n        }\n      }\n    }\n    schoolClasses {\n      ...SchoolClassParts\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment TeamParts on TeamNode {\n    name\n    code\n    id\n    members {\n      firstName\n      lastName\n      id\n      isMe\n    }\n  }\n"): (typeof documents)["\n  fragment TeamParts on TeamNode {\n    name\n    code\n    id\n    members {\n      firstName\n      lastName\n      id\n      isMe\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment ModuleParts on ModuleNode {\n    id\n    title\n    metaTitle\n    teaser\n    intro\n    slug\n    heroImage\n    heroSource\n    solutionsEnabled\n    highlights {\n      ...HighlightParts\n    }\n    language\n    inEditMode @client\n    level {\n      id\n      name\n    }\n    category {\n      id\n      name\n    }\n    topic {\n      slug\n      title\n    }\n    bookmark {\n      note {\n        id\n        text\n      }\n    }\n  }\n"): (typeof documents)["\n  fragment ModuleParts on ModuleNode {\n    id\n    title\n    metaTitle\n    teaser\n    intro\n    slug\n    heroImage\n    heroSource\n    solutionsEnabled\n    highlights {\n      ...HighlightParts\n    }\n    language\n    inEditMode @client\n    level {\n      id\n      name\n    }\n    category {\n      id\n      name\n    }\n    topic {\n      slug\n      title\n    }\n    bookmark {\n      note {\n        id\n        text\n      }\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query MeQuery {\n      me {\n        ...UserParts\n        team {\n          ...TeamParts\n        }\n        isTeacher\n        permissions\n        onboardingVisited\n      }\n    }\n  "): (typeof documents)["\n    query MeQuery {\n      me {\n        ...UserParts\n        team {\n          ...TeamParts\n        }\n        isTeacher\n        permissions\n        onboardingVisited\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    fragment InstrumentHighlightsWithIdOnlyFragment on InstrumentNode {\n      highlights {\n        id\n      }\n    }\n  "): (typeof documents)["\n    fragment InstrumentHighlightsWithIdOnlyFragment on InstrumentNode {\n      highlights {\n        id\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    fragment ChapterHighlightsWithIdOnlyFragment on ChapterNode {\n      highlights {\n        id\n      }\n    }\n  "): (typeof documents)["\n    fragment ChapterHighlightsWithIdOnlyFragment on ChapterNode {\n      highlights {\n        id\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    fragment ModuleHighlightsWithIdOnlyFragment on ModuleNode {\n      highlights {\n        id\n      }\n    }\n  "): (typeof documents)["\n    fragment ModuleHighlightsWithIdOnlyFragment on ModuleNode {\n      highlights {\n        id\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    fragment ContentBlockHighlightsWithIdOnlyFragment on ContentBlockNode {\n      highlights {\n        id\n      }\n    }\n  "): (typeof documents)["\n    fragment ContentBlockHighlightsWithIdOnlyFragment on ContentBlockNode {\n      highlights {\n        id\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n      mutation UpdateInstrumentBookmark($input: UpdateInstrumentBookmarkInput!) {\n        updateInstrumentBookmark(input: $input) {\n          success\n        }\n      }\n    "): (typeof documents)["\n      mutation UpdateInstrumentBookmark($input: UpdateInstrumentBookmarkInput!) {\n        updateInstrumentBookmark(input: $input) {\n          success\n        }\n      }\n    "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n      mutation UpdateContentBookmark($input: UpdateContentBookmarkInput!) {\n        updateContentBookmark(input: $input) {\n          success\n        }\n      }\n    "): (typeof documents)["\n      mutation UpdateContentBookmark($input: UpdateContentBookmarkInput!) {\n        updateContentBookmark(input: $input) {\n          success\n        }\n      }\n    "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query MyActivitiesQuery {\n      myActivities {\n        instruments {\n          id\n          slug\n          title\n          path\n          highlights {\n            ...HighlightParts\n          }\n          bookmarks {\n            ... on InstrumentBookmarkNode {\n              path\n              content\n            }\n          }\n        }\n        topics {\n          id\n          title\n          modules {\n            id\n            slug\n            title\n            metaTitle\n            myHighlights {\n              ...HighlightParts\n            }\n            myBookmarks {\n              ... on ChapterBookmarkNode {\n                chapter {\n                  path\n                }\n                path\n                content\n                note {\n                  id\n                  text\n                }\n              }\n              ... on ContentBlockBookmarkNode {\n                id\n                uuid\n                path\n                content\n                contentBlock {\n                  id\n                  path\n                }\n                note {\n                  id\n                  text\n                }\n              }\n              ... on ModuleBookmarkNode {\n                path\n                content\n                note {\n                  id\n                  text\n                }\n              }\n            }\n            mySubmissions {\n              id\n              text\n              assignment {\n                id\n                title\n                path\n                module {\n                  slug\n                }\n              }\n            }\n            myAnswers {\n              id\n              survey {\n                path\n                id\n                title\n              }\n            }\n          }\n        }\n      }\n    }\n  "): (typeof documents)["\n    query MyActivitiesQuery {\n      myActivities {\n        instruments {\n          id\n          slug\n          title\n          path\n          highlights {\n            ...HighlightParts\n          }\n          bookmarks {\n            ... on InstrumentBookmarkNode {\n              path\n              content\n            }\n          }\n        }\n        topics {\n          id\n          title\n          modules {\n            id\n            slug\n            title\n            metaTitle\n            myHighlights {\n              ...HighlightParts\n            }\n            myBookmarks {\n              ... on ChapterBookmarkNode {\n                chapter {\n                  path\n                }\n                path\n                content\n                note {\n                  id\n                  text\n                }\n              }\n              ... on ContentBlockBookmarkNode {\n                id\n                uuid\n                path\n                content\n                contentBlock {\n                  id\n                  path\n                }\n                note {\n                  id\n                  text\n                }\n              }\n              ... on ModuleBookmarkNode {\n                path\n                content\n                note {\n                  id\n                  text\n                }\n              }\n            }\n            mySubmissions {\n              id\n              text\n              assignment {\n                id\n                title\n                path\n                module {\n                  slug\n                }\n              }\n            }\n            myAnswers {\n              id\n              survey {\n                path\n                id\n                title\n              }\n            }\n          }\n        }\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query ChapterQuery($id: ID!) {\n      chapter(id: $id) {\n        path\n      }\n    }\n  "): (typeof documents)["\n    query ChapterQuery($id: ID!) {\n      chapter(id: $id) {\n        path\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query ContentBlockQuery($id: ID!) {\n      contentBlock(id: $id) {\n        path\n      }\n    }\n  "): (typeof documents)["\n    query ContentBlockQuery($id: ID!) {\n      contentBlock(id: $id) {\n        path\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment InstrumentParts on InstrumentNode {\n    id\n    title\n    intro\n    slug\n    language\n    bookmarks {\n      uuid\n      note {\n        id\n        text\n      }\n    }\n    type {\n      id\n      name\n      category {\n        id\n        name\n        foreground\n        background\n      }\n      type\n    }\n    contents\n    highlights {\n      ...HighlightParts\n    }\n  }\n"): (typeof documents)["\n  fragment InstrumentParts on InstrumentNode {\n    id\n    title\n    intro\n    slug\n    language\n    bookmarks {\n      uuid\n      note {\n        id\n        text\n      }\n    }\n    type {\n      id\n      name\n      category {\n        id\n        name\n        foreground\n        background\n      }\n      type\n    }\n    contents\n    highlights {\n      ...HighlightParts\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query InstrumentQuery($slug: String!) {\n      instrument(slug: $slug) {\n        ...InstrumentParts\n      }\n    }\n  "): (typeof documents)["\n    query InstrumentQuery($slug: String!) {\n      instrument(slug: $slug) {\n        ...InstrumentParts\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  fragment instrumentHighlightsFragment on InstrumentNode {\n    id\n    slug\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n"): (typeof documents)["\n  fragment instrumentHighlightsFragment on InstrumentNode {\n    id\n    slug\n    __typename\n    highlights {\n      ...HighlightParts\n    }\n  }\n"];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n        query MeLanguage {\n          me {\n            language @client\n          }\n        }\n      "): (typeof documents)["\n        query MeLanguage {\n          me {\n            language @client\n          }\n        }\n      "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n    query ModuleSnapshotsQuery($slug: String!) {\n      module(slug: $slug) {\n        id\n        title\n        metaTitle\n        slug\n        topic {\n          title\n        }\n        snapshots {\n          ...SnapshotDetailsFragment\n        }\n      }\n    }\n  "): (typeof documents)["\n    query ModuleSnapshotsQuery($slug: String!) {\n      module(slug: $slug) {\n        id\n        title\n        metaTitle\n        slug\n        topic {\n          title\n        }\n        snapshots {\n          ...SnapshotDetailsFragment\n        }\n      }\n    }\n  "];
/**
 * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function graphql(source: "\n  query ModuleSolutions($slug: String) {\n    module(slug: $slug) {\n      solutionsEnabled\n      slug\n    }\n  }\n"): (typeof documents)["\n  query ModuleSolutions($slug: String) {\n    module(slug: $slug) {\n      solutionsEnabled\n      slug\n    }\n  }\n"];

export function graphql(source: string) {
  return (documents as any)[source] ?? {};
}

export type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode<  infer TType,  any>  ? TType  : never;