"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommandType = exports.CommandMessage = void 0;
const internal_1 = require("../internal");
/**
* Represents a command message.
* @extends NonRawMessage
*/
class CommandMessage extends internal_1.NonRawMessage {
/**
* Creates an instance of the CommandMessage class.
* @param {CommandType} command The command type.
*/
constructor(command) {
super();
this.type = 'command';
this.command = command;
}
/**
* Gets the command of the message.
* @returns {CommandType} The command of the message.
*/
getCommand() {
return this.command;
}
/**
* Sets the command of the message.
* @param {CommandType} command The command to set.
* @returns {this} The updated instance of the CommandMessage.
*/
setCommand(command) {
this.command = command;
return this;
}
}
exports.CommandMessage = CommandMessage;
/**
* Represents the type of command.
*/
var CommandType;
(function (CommandType) {
CommandType["repeat"] = "repeat";
CommandType["readToMe"] = "readToMe";
CommandType["speakSlowly"] = "speakSlowly";
CommandType["volumeUp"] = "volumeUp";
CommandType["volumeDown"] = "volumeDown";
CommandType["mute"] = "mute";
CommandType["unmute"] = "unmute";
CommandType["startDictationMode"] = "startDictationMode";
CommandType["stopDictationMode"] = "stopDictationMode";
CommandType["startAmbientMode"] = "startAmbientMode";
CommandType["stopAmbientMode"] = "stopAmbientMode";
CommandType["startAudioRecording"] = "startAudioRecording";
CommandType["stopAudioRecording"] = "stopAudioRecording";
CommandType["repeatLouder"] = "repeatLouder";
CommandType["repeatSlowly"] = "repeatSlowly";
CommandType["humanAgent"] = "humanAgent";
CommandType["hold"] = "hold";
CommandType["resume"] = "resume";
CommandType["goBack"] = "goBack";
CommandType["home"] = "home";
CommandType["exit"] = "exit";
CommandType["startDoNotDisturbMode"] = "startDoNotDisturbMode";
CommandType["stopDoNotDisturbMode"] = "stopDoNotDisturbMode";
CommandType["invokeFlow"] = "invokeFlow";
CommandType["updateApplicationContext"] = "updateApplicationContext";
CommandType["custom"] = "custom";
CommandType["replayRequest"] = "replayRequest";
CommandType["executeApplicationAction"] = "executeApplicationAction";
})(CommandType = exports.CommandType || (exports.CommandType = {}));