import * as t from '@babel/types'; import { AST, Fragment, Operation } from 'graphql-tool-utilities'; import { EnumFormat } from '../../types'; export interface Options { schemaTypesPath: string; enumFormat?: EnumFormat; addTypename?: boolean; } export interface OperationOptions extends Options { partial?: boolean; } export declare type NamespaceExportableType = t.TSInterfaceDeclaration; export declare class FileContext { private path; private options; readonly schemaImports: t.ImportDeclaration | null; private importedTypes; constructor(path: string, options: Options); import(type: string): void; } export declare class OperationContext { operation: Operation | Fragment; ast: AST; options: OperationOptions; file: FileContext; readonly typeName: string; readonly namespace: t.TSModuleDeclaration | null; readonly exported: t.TSInterfaceDeclaration[]; private exportedTypes; constructor(operation: Operation | Fragment, ast: AST, options: OperationOptions, file: FileContext); export(type: NamespaceExportableType): t.TSTypeReference; }