import type { ParsedGraphQLSchemaMeta } from '../parseGraphQLSchema';
import type { ParsedPresetConfig, ScalarsOverridesType } from '../validatePresetConfig';
interface MergedConfig {
    userDefinedSchemaTypeMap: ParsedGraphQLSchemaMeta['userDefinedSchemaTypeMap'];
    scalarTypes: Record<string, ScalarsOverridesType>;
    typeMappers: Record<string, string>;
    /**
     * Resolvers users explicitly wants to control i.e. unmanaged by server preset so no static analysis is run on these resolvers
     * This is set by a few options:
     * - config.externalResolvers: for non-scalar types
     * - config.scalarsOverrides: for scalar types
     * - external resolvers e.g. from `graphql-scalars` module
     **/
    unmanagedResolvers: Record<string, string>;
}
/**
 * validateAndMergeParsedConfigs is used to make sure all parsed configs do not incorrectly override each other.
 * Use this to ensure there's only one way of doing something. e.g.
 *   - scalarsOverrides must be used over externalResolvers to override scalars
 */
export declare const validateAndMergeParsedConfigs: ({ unmanagedNonScalarResolvers, parsedGraphQLSchemaMeta: { userDefinedSchemaTypeMap, pluginsConfig: { scalarsModuleResolvers, unmanagedScalarResolvers, defaultScalarTypesMap, defaultTypeMappers, }, }, }: {
    unmanagedNonScalarResolvers: ParsedPresetConfig["externalResolvers"];
    parsedGraphQLSchemaMeta: ParsedGraphQLSchemaMeta;
}) => MergedConfig;
export {};
