///
import type { SourcePrinter, GraphQLTypePrinter, GraphQLResourcePrinter, GraphQLAdapterPrinter, GraphQLDirectivePrinter } from '../../../interfaces';
import type { ModelInfo } from '../../../main';
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
import type path from 'path';
import type { ShapeTtls } from '../../../intermediate/model-info';
import type { CompilerPlugin } from '../../../plugin';
export interface GraphQLCodegenMetadata {
scalarToPrimitiveMap: Record;
shapeTtls?: ShapeTtls;
rootTtl?: number;
}
export declare class GraphQLSourcePrinter implements SourcePrinter {
private typePrinter;
private resourcePrinter;
private adapterPrinter;
private directivePrinter;
private compilerBaseOutputDir;
private plugin;
constructor(typePrinter: GraphQLTypePrinter, resourcePrinter: GraphQLResourcePrinter, adapterPrinter: GraphQLAdapterPrinter, directivePrinter: GraphQLDirectivePrinter, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin);
generateModules(modelInfo: ModelInfo): {
[path: string]: string;
};
calculateMetadata(modelInfo: ModelInfo, graphqlDsl: LuvioGraphQLDSL): GraphQLCodegenMetadata;
}