/**
 * Functions to create viewers that allow users to pass credentials to resolve
 * functions used by OpenAPI-to-GraphQL.
 */
import { GraphQLObjectType, GraphQLFieldResolver } from 'graphql';
import { Args, GraphQLOperationType } from './types/graphql';
import { PreprocessingData } from './types/preprocessing_data';
import { Logger } from '@graphql-mesh/types';
declare type Viewer<TSource, TContext, TArgs> = {
    type: GraphQLObjectType;
    resolve: GraphQLFieldResolver<TSource, TContext, TArgs>;
    args: Args;
    description: string;
};
/**
 * Load the field object in the appropriate root object
 *
 * i.e. inside either rootQueryFields/rootMutationFields or inside
 * rootQueryFields/rootMutationFields for further processing
 */
export declare function createAndLoadViewer<TSource, TContext, TArgs>(queryFields: any, operationType: GraphQLOperationType, data: PreprocessingData<TSource, TContext, TArgs>, includeHttpDetails: boolean, logger: Logger): {
    [key: string]: Viewer<TSource, TContext, TArgs>;
};
export {};
