import { ResponseMessage } from "./ResponseMessage";
import { StatusHolder } from "./common/StatusHolder";
import { Status } from "./common/Status";
/**
 * A response message wrapped in a transaction.
 *
 * @see "Section 2.4.6, OFX Spec"
 */
export declare abstract class TransactionWrappedResponseMessage<M extends ResponseMessage> extends ResponseMessage implements StatusHolder {
    private UID;
    private clientCookie;
    private status;
    /**
     * UID of this transaction.
     *
     * @return UID of this transaction.
     */
    getUID(): string;
    /**
     * UID of this transaction.
     *
     * @param UID UID of this transaction.
     */
    setUID(UID: string): void;
    /**
     * Client cookie (echoed back by the response).
     *
     * @return Client cookie (echoed back by the response).
     */
    getClientCookie(): string;
    /**
     * Client cookie (echoed back by the response).
     *
     * @param clientCookie Client cookie (echoed back by the response).
     */
    setClientCookie(clientCookie: string): void;
    getStatusHolderName(): string;
    getResponseMessageName(): string;
    /**
     * Status of the transaction.
     *
     * @return Status of the transaction.
     */
    getStatus(): Status;
    /**
     * Status of the transaction.
     *
     * @param status Status of the transaction.
     */
    setStatus(status: Status): void;
    /**
     * Get the wrapped message.
     *
     * @return The wrapped message.
     */
    abstract getWrappedMessage(): M;
}
