{
  "api": {
    "name": "SpeechRecognitionPlugin",
    "slug": "speechrecognitionplugin",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "available",
        "signature": "() => Promise<SpeechRecognitionAvailability>",
        "parameters": [],
        "returns": "Promise<SpeechRecognitionAvailability>",
        "tags": [],
        "docs": "Checks whether the native speech recognition service is usable on the current device.",
        "complexTypes": [
          "SpeechRecognitionAvailability"
        ],
        "slug": "available"
      },
      {
        "name": "isOnDeviceRecognitionAvailable",
        "signature": "(options?: Pick<SpeechRecognitionStartOptions, \"language\"> | undefined) => Promise<SpeechRecognitionAvailability>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "Pick<SpeechRecognitionStartOptions, 'language'> | undefined"
          }
        ],
        "returns": "Promise<SpeechRecognitionAvailability>",
        "tags": [],
        "docs": "Checks whether the platform's newer on-device recognition path is available for the selected locale.\n\nThis is the capability check you should use before enabling `useOnDeviceRecognition`.\nA `true` result means the current device, OS version, and locale can use the newer\non-device path for that platform.\n\nReturns `false` when the device only supports the legacy recognizer path.\n\nPlatform SDK docs:\niOS: [Speech](https://developer.apple.com/documentation/speech)\nAndroid: [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)",
        "complexTypes": [
          "SpeechRecognitionAvailability",
          "Pick",
          "SpeechRecognitionStartOptions"
        ],
        "slug": "isondevicerecognitionavailable"
      },
      {
        "name": "start",
        "signature": "(options?: SpeechRecognitionStartOptions | undefined) => Promise<SpeechRecognitionMatches>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "SpeechRecognitionStartOptions | undefined"
          }
        ],
        "returns": "Promise<SpeechRecognitionMatches>",
        "tags": [],
        "docs": "Begins capturing audio and transcribing speech.\n\nWhen `partialResults` is `true`, the returned promise resolves immediately and updates are\nstreamed through the `partialResults` listener until the session ends.\n\nThe default path keeps the legacy recognizer behavior for backward compatibility.\nPass `useOnDeviceRecognition: true` only after checking\n{@link SpeechRecognitionPlugin.isOnDeviceRecognitionAvailable}.",
        "complexTypes": [
          "SpeechRecognitionMatches",
          "SpeechRecognitionStartOptions"
        ],
        "slug": "start"
      },
      {
        "name": "stop",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Stops listening and tears down native resources.",
        "complexTypes": [],
        "slug": "stop"
      },
      {
        "name": "forceStop",
        "signature": "(options?: ForceStopOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "ForceStopOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Force stops the current session.\n\nOn Android, this first tries a normal stop and then falls back to destroy/recreate after `timeout`.\nOn iOS, the current session is stopped immediately.\n\nIf a partial transcript is cached, it is emitted through the `partialResults` listener with `forced: true`.",
        "complexTypes": [
          "ForceStopOptions"
        ],
        "slug": "forcestop"
      },
      {
        "name": "getLastPartialResult",
        "signature": "() => Promise<LastPartialResult>",
        "parameters": [],
        "returns": "Promise<LastPartialResult>",
        "tags": [],
        "docs": "Gets the last cached partial transcription result.",
        "complexTypes": [
          "LastPartialResult"
        ],
        "slug": "getlastpartialresult"
      },
      {
        "name": "setPTTState",
        "signature": "(options: PTTStateOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "PTTStateOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Updates the current push-to-talk button state.\n\nUse this together with `continuousPTT` or with a custom hold-to-talk flow.",
        "complexTypes": [
          "PTTStateOptions"
        ],
        "slug": "setpttstate"
      },
      {
        "name": "getSupportedLanguages",
        "signature": "() => Promise<SpeechRecognitionLanguages>",
        "parameters": [],
        "returns": "Promise<SpeechRecognitionLanguages>",
        "tags": [],
        "docs": "Gets the locales supported by the underlying recognizer.\n\nAndroid 13+ devices no longer expose this list; in that case `languages` is empty.",
        "complexTypes": [
          "SpeechRecognitionLanguages"
        ],
        "slug": "getsupportedlanguages"
      },
      {
        "name": "isListening",
        "signature": "() => Promise<SpeechRecognitionListening>",
        "parameters": [],
        "returns": "Promise<SpeechRecognitionListening>",
        "tags": [],
        "docs": "Returns whether the plugin is actively listening for speech.",
        "complexTypes": [
          "SpeechRecognitionListening"
        ],
        "slug": "islistening"
      },
      {
        "name": "checkPermissions",
        "signature": "() => Promise<SpeechRecognitionPermissionStatus>",
        "parameters": [],
        "returns": "Promise<SpeechRecognitionPermissionStatus>",
        "tags": [],
        "docs": "Gets the current permission state.",
        "complexTypes": [
          "SpeechRecognitionPermissionStatus"
        ],
        "slug": "checkpermissions"
      },
      {
        "name": "requestPermissions",
        "signature": "() => Promise<SpeechRecognitionPermissionStatus>",
        "parameters": [],
        "returns": "Promise<SpeechRecognitionPermissionStatus>",
        "tags": [],
        "docs": "Requests the microphone + speech recognition permissions.",
        "complexTypes": [
          "SpeechRecognitionPermissionStatus"
        ],
        "slug": "requestpermissions"
      },
      {
        "name": "getPluginVersion",
        "signature": "() => Promise<{ version: string; }>",
        "parameters": [],
        "returns": "Promise<{ version: string; }>",
        "tags": [],
        "docs": "Returns the native plugin version bundled with this package.\n\nUseful when reporting issues to confirm that native and JS versions match.",
        "complexTypes": [],
        "slug": "getpluginversion"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'endOfSegmentedSession', listenerFunc: () => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'endOfSegmentedSession'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "() => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "Listen for segmented session completion events (Android only).",
        "complexTypes": [
          "PluginListenerHandle"
        ],
        "slug": "addlistenerendofsegmentedsession-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'segmentResults', listenerFunc: (event: SpeechRecognitionSegmentResultEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'segmentResults'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: SpeechRecognitionSegmentResultEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "Listen for segmented recognition results (Android only).",
        "complexTypes": [
          "PluginListenerHandle",
          "SpeechRecognitionSegmentResultEvent"
        ],
        "slug": "addlistenersegmentresults-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'partialResults', listenerFunc: (event: SpeechRecognitionPartialResultEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'partialResults'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: SpeechRecognitionPartialResultEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "Listen for partial transcription updates emitted while `partialResults` is enabled.",
        "complexTypes": [
          "PluginListenerHandle",
          "SpeechRecognitionPartialResultEvent"
        ],
        "slug": "addlistenerpartialresults-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'listeningState', listenerFunc: (event: SpeechRecognitionListeningEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'listeningState'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: SpeechRecognitionListeningEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "Listen for changes to the native listening state.",
        "complexTypes": [
          "PluginListenerHandle",
          "SpeechRecognitionListeningEvent"
        ],
        "slug": "addlistenerlisteningstate-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'error', listenerFunc: (event: SpeechRecognitionErrorEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'error'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: SpeechRecognitionErrorEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "Listen for recognition errors.",
        "complexTypes": [
          "PluginListenerHandle",
          "SpeechRecognitionErrorEvent"
        ],
        "slug": "addlistenererror-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'readyForNextSession', listenerFunc: (event: SpeechRecognitionReadyEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'readyForNextSession'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(event: SpeechRecognitionReadyEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [],
        "docs": "Listen for the recognizer becoming ready for another session.",
        "complexTypes": [
          "PluginListenerHandle",
          "SpeechRecognitionReadyEvent"
        ],
        "slug": "addlistenerreadyfornextsession-"
      },
      {
        "name": "removeAllListeners",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Removes every registered listener.",
        "complexTypes": [],
        "slug": "removealllisteners"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "SpeechRecognitionAvailability",
      "slug": "speechrecognitionavailability",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "available",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "SpeechRecognitionStartOptions",
      "slug": "speechrecognitionstartoptions",
      "docs": "Configure how the recognizer behaves when calling {@link SpeechRecognitionPlugin.start}.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "language",
          "tags": [],
          "docs": "Locale identifier such as `en-US`. When omitted the device language is used.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "maxResults",
          "tags": [],
          "docs": "Maximum number of final matches returned by native APIs. Defaults to `5`.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "prompt",
          "tags": [],
          "docs": "Prompt message shown inside the Android system dialog (ignored on iOS).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "popup",
          "tags": [],
          "docs": "When `true`, Android shows the OS speech dialog instead of running inline recognition.\nDefaults to `false`.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "partialResults",
          "tags": [],
          "docs": "Emits partial transcription updates through the `partialResults` listener while audio is captured.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "addPunctuation",
          "tags": [],
          "docs": "Enables native punctuation handling where supported (iOS 16+).",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "contextualStrings",
          "tags": [],
          "docs": "Words or phrases that should be recognized more accurately by native speech APIs.\n\nOn iOS, these are passed to `SFSpeechRecognitionRequest.contextualStrings`\nwhen the plugin uses the legacy `SFSpeechRecognizer` path. That path is the\ndefault on all iOS versions, the fallback below iOS 26, and still available\non iOS 26+ by leaving `useOnDeviceRecognition` disabled.\n\nIgnored by Android and by the iOS 26+ `SpeechAnalyzer` path.",
          "complexTypes": [],
          "type": "string[] | undefined"
        },
        {
          "name": "useOnDeviceRecognition",
          "tags": [],
          "docs": "Opt in to the platform's newer on-device recognition path when available.\n\nOn iOS 26+, this uses Apple's `SpeechAnalyzer` / `SpeechTranscriber` pipeline.\nOn recent Android versions, this uses the on-device `SpeechRecognizer` path.\n\nIt is intentionally opt-in so existing apps keep the legacy flow unless they choose\nto roll out the new behavior.\nOn iOS, leaving this disabled keeps `SFSpeechRecognizer` on every supported OS version.\nEnabling it on older iOS versions or unsupported locales falls back to `SFSpeechRecognizer`.\n\nUse {@link SpeechRecognitionPlugin.isOnDeviceRecognitionAvailable} before enabling it in production.\n\nPlatform SDK docs:\niOS: [Speech](https://developer.apple.com/documentation/speech),\n[SpeechAnalyzer](https://developer.apple.com/documentation/speech/speechanalyzer),\n[SpeechTranscriber](https://developer.apple.com/documentation/speech/speechtranscriber)\nAndroid: [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)\n\nDefaults to `false`.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "allowForSilence",
          "tags": [],
          "docs": "Allow a number of milliseconds of silence before splitting the recognition session into segments.\nRequired to be greater than zero and currently supported on Android only.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "continuousPTT",
          "tags": [],
          "docs": "EXPERIMENTAL: Keep a PTT session alive across silence by restarting recognition while the button stays held.\n\nThis restart behavior is implemented for Android inline recognition and iOS native recognition.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "muteRecognizerBeep",
          "tags": [],
          "docs": "Suppresses the Android system beep when inline recognition starts or restarts.\n\nUses a best-effort combination of an undocumented recognizer intent extra and\ntemporary notification/system stream volume muting. Some devices ignore the\nintent extra; the volume fallback is the portable path.\n\nDefaults to `true` when `continuousPTT` is enabled.",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "SpeechRecognitionMatches",
      "slug": "speechrecognitionmatches",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "matches",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string[] | undefined"
        }
      ]
    },
    {
      "name": "ForceStopOptions",
      "slug": "forcestopoptions",
      "docs": "Options for {@link SpeechRecognitionPlugin.forceStop}.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "timeout",
          "tags": [],
          "docs": "Android only: timeout in milliseconds before forcing stop via destroy/recreate.\n\nOn iOS, the current session is stopped immediately and this value is ignored.\n\nDefaults to `1500`.",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "LastPartialResult",
      "slug": "lastpartialresult",
      "docs": "Result from {@link SpeechRecognitionPlugin.getLastPartialResult}.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "available",
          "tags": [],
          "docs": "Whether a partial result is currently cached.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "text",
          "tags": [],
          "docs": "The most recent transcript text known to the native recognizer.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "matches",
          "tags": [],
          "docs": "All current match alternatives when available.",
          "complexTypes": [],
          "type": "string[] | undefined"
        }
      ]
    },
    {
      "name": "PTTStateOptions",
      "slug": "pttstateoptions",
      "docs": "Options for {@link SpeechRecognitionPlugin.setPTTState}.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "held",
          "tags": [],
          "docs": "Whether the PTT button is currently held.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "mute",
          "tags": [],
          "docs": "When set, updates whether Android should suppress the recognizer start beep for the active session.\n\nBeep suppression is best-effort and device-specific; see {@link SpeechRecognitionStartOptions.muteRecognizerBeep}.",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "SpeechRecognitionLanguages",
      "slug": "speechrecognitionlanguages",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "languages",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string[]"
        }
      ]
    },
    {
      "name": "SpeechRecognitionListening",
      "slug": "speechrecognitionlistening",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "listening",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "SpeechRecognitionPermissionStatus",
      "slug": "speechrecognitionpermissionstatus",
      "docs": "Permission map returned by `checkPermissions` and `requestPermissions`.\n\nOn Android the state maps to the `RECORD_AUDIO` permission.\nOn iOS it combines speech recognition plus microphone permission.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "speechRecognition",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "PermissionState"
          ],
          "type": "PermissionState"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => Promise<void>"
        }
      ]
    },
    {
      "name": "SpeechRecognitionSegmentResultEvent",
      "slug": "speechrecognitionsegmentresultevent",
      "docs": "Raised whenever a segmented result is produced (Android only).",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "matches",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string[]"
        }
      ]
    },
    {
      "name": "SpeechRecognitionPartialResultEvent",
      "slug": "speechrecognitionpartialresultevent",
      "docs": "Raised whenever a partial transcription is produced.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "matches",
          "tags": [],
          "docs": "Current recognition matches when the native recognizer reports them.\n\nThis can be omitted for forced or accumulated-only payloads.",
          "complexTypes": [],
          "type": "string[] | undefined"
        },
        {
          "name": "accumulated",
          "tags": [],
          "docs": "Accumulated transcription from earlier continuous PTT cycles.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "accumulatedText",
          "tags": [],
          "docs": "Final accumulated text including the current result.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "isRestarting",
          "tags": [],
          "docs": "`true` when the plugin is restarting recognition inside a continuous PTT session.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "forced",
          "tags": [],
          "docs": "`true` when the payload was emitted by `forceStop()`.",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "SpeechRecognitionListeningEvent",
      "slug": "speechrecognitionlisteningevent",
      "docs": "Raised when the listening state changes.\n\nThe original `status` field is preserved for backward compatibility and is present\non the binary `started` / `stopped` states.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "state",
          "tags": [],
          "docs": "Finite state of the recognition session.",
          "complexTypes": [
            "ListeningFiniteState"
          ],
          "type": "ListeningFiniteState"
        },
        {
          "name": "sessionId",
          "tags": [],
          "docs": "Unique identifier for the current listening session.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "reason",
          "tags": [],
          "docs": "Why this state transition occurred.",
          "complexTypes": [
            "ListeningReason"
          ],
          "type": "ListeningReason"
        },
        {
          "name": "errorCode",
          "tags": [],
          "docs": "Error code when the transition is caused by an error.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "status",
          "tags": [],
          "docs": "Backward-compatible binary state used by earlier releases.",
          "complexTypes": [],
          "type": "'started' | 'stopped' | undefined"
        }
      ]
    },
    {
      "name": "SpeechRecognitionErrorEvent",
      "slug": "speechrecognitionerrorevent",
      "docs": "Raised whenever native recognition reports an error.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "code",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "message",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "sessionId",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "SpeechRecognitionReadyEvent",
      "slug": "speechrecognitionreadyevent",
      "docs": "Emitted after native resources have been torn down and the plugin is ready for another session.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "sessionId",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    }
  ],
  "enums": [],
  "typeAliases": [
    {
      "name": "Pick",
      "slug": "pick",
      "docs": "From T, pick a set of properties whose keys are in the union K",
      "types": [
        {
          "text": "{\r\n    [P in K]: T[P];\r\n}",
          "complexTypes": [
            "K",
            "T",
            "P"
          ]
        }
      ]
    },
    {
      "name": "PermissionState",
      "slug": "permissionstate",
      "docs": "",
      "types": [
        {
          "text": "'prompt'",
          "complexTypes": []
        },
        {
          "text": "'prompt-with-rationale'",
          "complexTypes": []
        },
        {
          "text": "'granted'",
          "complexTypes": []
        },
        {
          "text": "'denied'",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "ListeningFiniteState",
      "slug": "listeningfinitestate",
      "docs": "Finite state values for the recognition session lifecycle.",
      "types": [
        {
          "text": "'startingListening'",
          "complexTypes": []
        },
        {
          "text": "'started'",
          "complexTypes": []
        },
        {
          "text": "'stoppingListening'",
          "complexTypes": []
        },
        {
          "text": "'stopped'",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "ListeningReason",
      "slug": "listeningreason",
      "docs": "Why a listening state transition happened.",
      "types": [
        {
          "text": "'userStart'",
          "complexTypes": []
        },
        {
          "text": "'userStop'",
          "complexTypes": []
        },
        {
          "text": "'forceStop'",
          "complexTypes": []
        },
        {
          "text": "'results'",
          "complexTypes": []
        },
        {
          "text": "'silence'",
          "complexTypes": []
        },
        {
          "text": "'error'",
          "complexTypes": []
        },
        {
          "text": "'unknown'",
          "complexTypes": []
        }
      ]
    }
  ],
  "pluginConfigs": []
}