import { Logger } from '@graphql-mesh/types';
import { SoapEndpoint, SoapType, SoapField, SoapService, SoapPort, SoapOperation } from '../soap2graphql/soap-endpoint';
import { NodeSoapClient } from './node-soap';
import { NodeSoapWsdlResolver } from './node-soap-resolver';
export declare function createSoapEndpoint(soapClient: NodeSoapClient, logger: Logger): SoapEndpoint;
export declare class NodeSoapEndpoint implements SoapEndpoint {
    private soapClient;
    private _resolver;
    constructor(soapClient: NodeSoapClient, logger: Logger);
    description(): string;
    services(): NodeSoapService[];
    resolver(): NodeSoapWsdlResolver;
    private _describe;
    protected describe(): any;
}
export declare class NodeSoapService implements SoapService {
    private _wsdl;
    private _name;
    private _content;
    constructor(_wsdl: NodeSoapEndpoint, _name: string, _content: any);
    endpoint(): NodeSoapEndpoint;
    name(): string;
    private _ports;
    ports(): NodeSoapPort[];
    private createPorts;
}
export declare class NodeSoapPort implements SoapPort {
    private _service;
    private _name;
    private _content;
    constructor(_service: NodeSoapService, _name: string, _content: any);
    endpoint(): NodeSoapEndpoint;
    service(): NodeSoapService;
    name(): string;
    private _operations;
    operations(): NodeSoapOperation[];
    private createOperations;
}
export declare class NodeSoapOperation implements SoapOperation {
    private _port;
    private _name;
    private _content;
    constructor(_port: NodeSoapPort, _name: string, _content: any);
    endpoint(): NodeSoapEndpoint;
    service(): NodeSoapService;
    port(): NodeSoapPort;
    name(): string;
    content(): any;
    private _inputs;
    args(): SoapField[];
    private _output;
    output(): {
        type: SoapType;
        isList: boolean;
    };
    resultField(): string;
    private createOutput;
}
