/**
 * Supported G.A.I.A. channel types:
 *  TEXT: receives the message which will be displayed
 *  LOG: receives different system logs (error & info
 *  CONTEXT: receives the full context every time
 *  NOTIFICATION: receives some custom specified notification
 */
export var ChannelType;
(function (ChannelType) {
    ChannelType["NOTIFICATION"] = "NOTIFICATION";
    ChannelType["CONTEXT"] = "CONTEXT";
    ChannelType["TEXT"] = "TEXT";
    ChannelType["AUDIO"] = "AUDIO";
    ChannelType["LOG"] = "LOG";
})(ChannelType || (ChannelType = {}));
(function (ChannelType) {
    function match(topic) {
        var match = topic.match(/GAIA\/RAIN\/[\w-]+\/[\w-]+\/(\w+)\/in/);
        if (match !== null) {
            var channelType = ChannelType[match[1].toUpperCase()];
            if (channelType !== undefined) {
                return channelType;
            }
        }
        throw new Error("no channel " + topic + " found");
    }
    ChannelType.match = match;
})(ChannelType || (ChannelType = {}));
//# sourceMappingURL=ChannelType.js.map