/* 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  query checkIfCanUseWidgetWithSurvey(\n    $surveyID: ID!\n    $preview: Boolean\n    $os: String!\n    $mobileApp: String!\n  ) {\n    checkIfCanUseWidgetWithSurvey(\n      surveyID: $surveyID\n      preview: $preview\n      os: $os\n      mobileApp: $mobileApp\n    ) {\n      canUse\n    }\n  }\n": types.CheckIfCanUseWidgetWithSurveyDocument,
    "\n  query getEverySurveyAvailableToBeTriggered(\n    $folderID: ID!\n    $type: String!\n    $os: String\n    $mobileApp: String\n    $language: String\n    $version: String\n    $listReplied: [SurveyReplied]\n    $preview: Boolean\n  ) {\n    getEverySurveyAvailableToBeTriggered(\n      folderID: $folderID\n      type: $type\n      os: $os\n      mobileApp: $mobileApp\n      language: $language\n      version: $version\n      listReplied: $listReplied\n      preview: $preview\n    ) {\n      id\n      survey\n      kind\n\n      whenData {\n        seeItOnlyOnce\n        replyOnlyOnce\n      }\n\n      ... on SurveyTriggerScreen {\n        onAllScreen\n        onLoadScreen\n        delay {\n          value\n          active\n        }\n        condition {\n          variable\n          operator\n          value\n        }\n      }\n\n      ... on SurveyTriggerCustomEvent {\n        eventName\n        conditions {\n          key\n          operator\n          value\n        }\n      }\n    }\n  }\n": types.GetEverySurveyAvailableToBeTriggeredDocument,
};

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

/**
 * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function gql(source: "\n  query checkIfCanUseWidgetWithSurvey(\n    $surveyID: ID!\n    $preview: Boolean\n    $os: String!\n    $mobileApp: String!\n  ) {\n    checkIfCanUseWidgetWithSurvey(\n      surveyID: $surveyID\n      preview: $preview\n      os: $os\n      mobileApp: $mobileApp\n    ) {\n      canUse\n    }\n  }\n"): (typeof documents)["\n  query checkIfCanUseWidgetWithSurvey(\n    $surveyID: ID!\n    $preview: Boolean\n    $os: String!\n    $mobileApp: String!\n  ) {\n    checkIfCanUseWidgetWithSurvey(\n      surveyID: $surveyID\n      preview: $preview\n      os: $os\n      mobileApp: $mobileApp\n    ) {\n      canUse\n    }\n  }\n"];
/**
 * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
 */
export function gql(source: "\n  query getEverySurveyAvailableToBeTriggered(\n    $folderID: ID!\n    $type: String!\n    $os: String\n    $mobileApp: String\n    $language: String\n    $version: String\n    $listReplied: [SurveyReplied]\n    $preview: Boolean\n  ) {\n    getEverySurveyAvailableToBeTriggered(\n      folderID: $folderID\n      type: $type\n      os: $os\n      mobileApp: $mobileApp\n      language: $language\n      version: $version\n      listReplied: $listReplied\n      preview: $preview\n    ) {\n      id\n      survey\n      kind\n\n      whenData {\n        seeItOnlyOnce\n        replyOnlyOnce\n      }\n\n      ... on SurveyTriggerScreen {\n        onAllScreen\n        onLoadScreen\n        delay {\n          value\n          active\n        }\n        condition {\n          variable\n          operator\n          value\n        }\n      }\n\n      ... on SurveyTriggerCustomEvent {\n        eventName\n        conditions {\n          key\n          operator\n          value\n        }\n      }\n    }\n  }\n"): (typeof documents)["\n  query getEverySurveyAvailableToBeTriggered(\n    $folderID: ID!\n    $type: String!\n    $os: String\n    $mobileApp: String\n    $language: String\n    $version: String\n    $listReplied: [SurveyReplied]\n    $preview: Boolean\n  ) {\n    getEverySurveyAvailableToBeTriggered(\n      folderID: $folderID\n      type: $type\n      os: $os\n      mobileApp: $mobileApp\n      language: $language\n      version: $version\n      listReplied: $listReplied\n      preview: $preview\n    ) {\n      id\n      survey\n      kind\n\n      whenData {\n        seeItOnlyOnce\n        replyOnlyOnce\n      }\n\n      ... on SurveyTriggerScreen {\n        onAllScreen\n        onLoadScreen\n        delay {\n          value\n          active\n        }\n        condition {\n          variable\n          operator\n          value\n        }\n      }\n\n      ... on SurveyTriggerCustomEvent {\n        eventName\n        conditions {\n          key\n          operator\n          value\n        }\n      }\n    }\n  }\n"];

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

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