///
import type { GraphQLTypePrinter } from '../../../interfaces';
import type { ImportContext } from '../../../utils/imports';
import path from 'path';
import type { GraphQLCodegenMetadata } from './graphql-source-printer';
import type { GraphQLResource } from '../../../intermediate/resource';
import type { ModelInfo } from '../../../main';
import type { CompilerPlugin } from '../../../plugin';
export declare const GRAPHQL_OBJECT_TYPENAME = "typeName";
export type GraphQLTypeGenerationResult = Record;
export declare class GraphQLTypeSourcePrinter implements GraphQLTypePrinter {
generate(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo, plugin?: CompilerPlugin): GraphQLTypeGenerationResult;
createGraphQLTypeImportContext(compilerBaseOutputDir: path.ParsedPath, defName: string, plugin?: CompilerPlugin): {
relPath: string;
importContext: ImportContext;
};
generateGraphQLInteropTypes(modelInfo: ModelInfo, compilerBaseOutputDir: path.ParsedPath, graphqlResource: GraphQLResource, plugin?: CompilerPlugin): GraphQLTypeGenerationResult;
addTypeModule(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, modules: GraphQLTypeGenerationResult, plugin?: CompilerPlugin): void;
addCursorModule(modules: GraphQLTypeGenerationResult): void;
}