import * as soap from "soap";
import { Config } from "./config";
/**
 * A simple eAdapter client
 */
export declare class EAdapterClient {
    config: Config;
    soapClient: Promise<soap.Client>;
    constructor(config: Config);
    /**
     * Simply ping the CW1 soap server to see if you are connected.
     *
     * @returns true indicating you are connected and authenticated.
     */
    ping(): Promise<boolean>;
    /**
     * This is how you send EDI messages into CW1
     * CW1 doesn't respond to this. Instead you can use the tracking ids to look up in CW1 the responses.
     *
     * @param messages messages you wish to send
     * @returns list of tracking ids. The order will be the same as your messages.
     */
    send(messages: (string | SendMessage)[]): Promise<string[]>;
}
export interface SendMessage {
    /**
     * The uncompressed xml message
     */
    message: string;
    /**
     * The sending system ID recorded as sender on the EDI Interchange
     *
     * Defaults to config.clientId
     */
    clientId?: string;
    /**
     * The message type. Defaults to "universal-xml"
     */
    type?: "universal-xml" | "native-xml";
    /**
     * This is a GUID you provide.
     *
     * With this id you can look into CW1 EDI Interchange for the status of the message.
     *
     * If not provided, a trackingId will be generated for you.
     */
    trackingId?: string;
}
