import { SchemaOptions } from './soap2graphql';
import { SoapEndpoint, SoapService, SoapPort, SoapOperation } from './soap-endpoint';
import { SoapCaller } from './soap-caller';
import { GraphQLObjectType, GraphQLFieldConfigMap, GraphQLFieldConfig, GraphQLFieldConfigArgumentMap, GraphQLOutputType, GraphQLFieldResolver, GraphQLSchemaConfig } from 'graphql';
import { Logger } from '@graphql-mesh/types';
declare type RootType = 'query' | 'mutation';
export declare class SchemaResolver {
    private soapEndpoint;
    private soapCaller;
    private logger;
    private readonly options;
    private outputResolver;
    private inputResolver;
    constructor(soapEndpoint: SoapEndpoint, soapCaller: SoapCaller, options: SchemaOptions, logger: Logger);
    defaultOptions(options: SchemaOptions): SchemaOptions;
    resolve(): GraphQLSchemaConfig;
    getFields(rootType: RootType): GraphQLFieldConfigMap<any, any>;
    createQueryObject(): GraphQLObjectType;
    createMutationObject(): GraphQLObjectType;
    createSoapServiceField(service: SoapService, rootType: RootType): GraphQLFieldConfig<any, any>;
    createSoapPortField(service: SoapService, port: SoapPort, rootType: RootType): GraphQLFieldConfig<any, any>;
    getFieldConfig(operation: SoapOperation): GraphQLFieldConfig<any, any>;
    createSoapOperationField(operation: SoapOperation, rootType: RootType): GraphQLFieldConfig<any, any>;
    createSoapOperationFieldArgs(operation: SoapOperation): GraphQLFieldConfigArgumentMap;
    resolveSoapOperationReturnType(operation: SoapOperation): GraphQLOutputType;
    createSoapOperationFieldResolver<TSource, TContext>(operation: SoapOperation): GraphQLFieldResolver<TSource, {
        [argName: string]: any;
    }, TContext>;
}
export {};
