import { GraphQLSchema } from 'graphql';
import { ISettings } from '../../types';
export interface TracingSchemaTuple {
    schema: GraphQLSchema;
    tracingSupported: boolean;
}
export declare class SchemaFetcher {
    cache: Map<string, TracingSchemaTuple>;
    settings: ISettings;
    constructor(settings: ISettings);
    fetch(endpoint: string, headers?: any): Promise<TracingSchemaTuple | {
        schema: GraphQLSchema;
        tracingSupported: boolean;
    } | null>;
    refetch(endpoint: string, headers: any): Promise<{
        schema: GraphQLSchema;
        tracingSupported: boolean;
    } | null>;
    hash(endpoint: string, headers: any): any;
    private fetchSchema(endpoint, headers?);
}
