import { ResponseMessage } from "./ResponseMessage";
import { MessageSetType } from "./MessageSetType";
/**
 * A message set enclosed in a response envelope.
 */
export declare abstract class ResponseMessageSet {
    private version;
    abstract getType(): MessageSetType;
    constructor();
    cast<T extends this>(): T;
    /**
     * The version of this message set.
     *
     * @return The version of this message set.
     */
    getVersion(): string;
    /**
     * The version of this message set.
     *
     * @param version The version of this message set.
     */
    setVersion(version: string): void;
    /**
     * The list of response messages.
     *
     * @return The list of response messages.
     */
    abstract getResponseMessages(): Array<ResponseMessage>;
    static contentCompare(left: ResponseMessageSet, right: ResponseMessageSet): number;
}
