import { GetMeshSourceOptions, MeshHandler, MeshSource, YamlConfig } from '@graphql-mesh/types';
import { GraphQLSchema } from 'graphql';
export default class GraphQLHandler implements MeshHandler {
    private config;
    private baseDir;
    private nonExecutableSchema;
    private importFn;
    private fetchFn;
    private logger;
    private urlLoader;
    constructor({ config, baseDir, fetchFn, store, importFn, logger, }: GetMeshSourceOptions<YamlConfig.Handler['graphql']>);
    private interpolationStringSet;
    private getArgsAndContextVariables;
    getExecutorForHTTPSourceConfig(httpSourceConfig: YamlConfig.GraphQLHandlerHTTPConfiguration): Promise<MeshSource['executor']>;
    getNonExecutableSchemaForHTTPSource(httpSourceConfig: YamlConfig.GraphQLHandlerHTTPConfiguration): Promise<GraphQLSchema>;
    getCodeFirstSource({ schema: schemaConfig, }: YamlConfig.GraphQLHandlerCodeFirstConfiguration): Promise<MeshSource>;
    getRaceExecutor(executors: MeshSource['executor'][]): MeshSource['executor'];
    getFallbackExecutor(executors: MeshSource['executor'][]): MeshSource['executor'];
    getMeshSource(): Promise<MeshSource>;
}
