import { RequestMessage } from './RequestMessage';
/**
 * A request message wrapped in a transaction.
 *
 * @see "Section 2.4.6, OFX Spec"
 */
export declare abstract class TransactionWrappedRequestMessage<M extends RequestMessage> extends RequestMessage {
    private UID;
    private clientCookie;
    private transactionAuthorizationNumber;
    constructor(UID?: string);
    /**
     * 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;
    /**
     * The transaction authorization number.
     *
     * @return The transaction authorization number.
     */
    getTransactionAuthorizationNumber(): string;
    /**
     * The transaction authorization number.
     *
     * @param transactionAuthorizationNumber The transaction authorization number.
     */
    setTransactionAuthorizationNumber(transactionAuthorizationNumber: string): void;
    /**
     * Set the wrapped message.
     *
     * @param message The wrapped message.
     */
    abstract setWrappedMessage(message: M): void;
}
