import { ErrorInterface } from '../interfaces/error'; import { Security } from './security'; import * as soap from 'soap'; import { SoapServiceConfig } from '../interfaces/services-config'; import { ClientSoap } from './soap-client'; import { SoapRetriableExecutor } from '../lib/soap-retriable-executor'; export interface ClientRegister { call: (method: any, params: any, extraOptions?: {}, requestId?: string | undefined) => any; lastRequest: () => string | undefined; rawResponse: (response: any) => any; error: (error: ErrorInterface) => string | undefined; callEndpoint(endpoint: string): any; } export declare class SoapClientFactory { config: SoapServiceConfig; security: Security; retriableExecutor: SoapRetriableExecutor; constructor(config: SoapServiceConfig, security?: Security, retriableExecutor?: SoapRetriableExecutor); create(): Promise; createClient(): Promise; getClientOptions(): Object; configureClient(client: soap.Client): ClientRegister; addSoapHeaders(client: soap.Client): void; clientCall(client: soap.Client): (method: string, params: object, extraOptions?: {}, requestId?: string | undefined) => Promise; soapMethod(client: soap.Client, method: string): any; noMethodError(client: soap.Client, method: string): void; getClientCallerOptions(): Object; }