import type ts from 'typescript'; import { GraphQLSchema, type ASTNode, type DocumentNode } from 'graphql'; import { type OutputSource } from '../ts-ast-util'; import type { StrictAddon } from './addon/types'; export declare class TypeGenError extends Error { readonly message: string; readonly node: ASTNode; constructor(message: string, node: ASTNode); } export type TypeGenVisitorOptions = { schema: GraphQLSchema; }; export type VisitOption = { outputSource: OutputSource; addon: StrictAddon; }; export declare class TypeGenVisitor { private readonly _schema; constructor({ schema }: TypeGenVisitorOptions); visit(documentNode: DocumentNode, { outputSource, addon }: VisitOption): ts.SourceFile; private _getFieldMetadataFromFieldTypeInstance; private _getFieldMetadataFromTypeNode; private _isConcreteTypeOfParentUnionType; private _wrapTsTypeNodeWithStructualModifiers; private _createTsTypeNodeFromEnum; private _createTsDoubleUnderscoreTypenameFieldType; private _createTsTypeNodeFromScalar; private _createTsTypeDeclaration; private _createTsFieldTypeNode; }