{"version":3,"file":"typedQueryDocumentNode.js","sourceRoot":"","sources":["../../src/utilities/typedQueryDocumentNode.ts"],"names":[],"mappings":"","sourcesContent":["/** @category Typed Documents */\n\nimport type {\n  DocumentNode,\n  ExecutableDefinitionNode,\n} from '../language/ast.ts';\n/**\n * Wrapper type that contains DocumentNode and types that can be deduced from it.\n * @typeParam TResponseData - Typed GraphQL response data shape.\n * @typeParam TRequestVariables - Typed GraphQL request variables shape.\n */\nexport interface TypedQueryDocumentNode<\n  TResponseData = { [key: string]: any },\n  TRequestVariables = { [key: string]: any },\n> extends DocumentNode {\n  /** Top-level executable and type-system definitions in this document. */\n  readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n  // FIXME: remove once TS implements proper way to enforce nominal typing\n  /**\n   * This type is used to ensure that the variables you pass in to the query are assignable to Variables\n   * and that the Result is assignable to whatever you pass your result to. The method is never actually\n   * implemented, but the type is valid because we list it as optional\n   */\n  __ensureTypesOfVariablesAndResultMatching?: (\n    variables: TRequestVariables,\n  ) => TResponseData;\n}\n"]}