import { GraphQLEnumType, GraphQLFieldConfigMap, GraphQLInterfaceType, GraphQLObjectType, GraphQLOutputType, GraphQLUnionType } from 'graphql'; import { Namespace } from '../types'; import { ContentType, ContentTypeField } from '../../contentful/types'; export default class ContentTypeWriter { private readonly contentType; private readonly contentTypeMap; private readonly collectionTypeMap; private readonly namespace; readonly className: string; private linkedTypes; constructor(contentType: ContentType, contentTypeMap: Map, collectionTypeMap: Map, namespace: Namespace); write: () => { type: GraphQLObjectType; collection: GraphQLObjectType; }; writeField(field: ContentTypeField, fields: GraphQLFieldConfigMap): void; writeFieldType(field: ContentTypeField): GraphQLOutputType; resolveLinkContentType(field: ContentTypeField): GraphQLUnionType | GraphQLInterfaceType | GraphQLObjectType; writeLinkCollectionType(itemType: any): GraphQLObjectType; writePotentialUnionType(field: any): GraphQLEnumType | null | undefined; }