
/**
 * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
 *
 * Do not edit this file as changes may cause incorrect behavior and will be lost
 * once the code is regenerated.
 *
 * @generated by codegen project: GenerateModuleJavaSpec.js
 *
 * @nolint
 */

package com.facebook.fbreact.specs;

import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
import javax.annotation.Nonnull;

public abstract class NativeSherpaOnnxSpecSpec extends ReactContextBaseJavaModule implements TurboModule {
  public static final String NAME = "SherpaOnnx";

  public NativeSherpaOnnxSpecSpec(ReactApplicationContext reactContext) {
    super(reactContext);
  }

  @Override
  public @Nonnull String getName() {
    return NAME;
  }

  @ReactMethod
  @DoNotStrip
  public abstract void validateLibraryLoaded(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void testOnnxIntegration(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void getArchitectureInfo(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void getSystemInfo(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initTts(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void generateTts(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void stopTts(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseTts(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initAsr(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void recognizeFromSamples(double sampleRate, ReadableArray samples, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void recognizeFromFile(String filePath, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseAsr(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void createAsrOnlineStream(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void acceptAsrOnlineWaveform(double sampleRate, ReadableArray samples, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void isAsrOnlineEndpoint(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void getAsrOnlineResult(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void finishAsrOnlineInput(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void resetAsrOnlineStream(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initAudioTagging(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void processAndComputeAudioTagging(String filePath, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void processAndComputeAudioSamples(double sampleRate, ReadableArray samples, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseAudioTagging(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initSpeakerId(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void processSpeakerIdSamples(double sampleRate, ReadableArray samples, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void computeSpeakerEmbedding(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void resetSpeakerIdStream(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void registerSpeaker(String name, ReadableArray embedding, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void removeSpeaker(String name, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void getSpeakers(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void identifySpeaker(ReadableArray embedding, double threshold, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void verifySpeaker(String name, ReadableArray embedding, double threshold, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void processSpeakerIdFile(String filePath, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void processSpeakerIdFileWindow(String filePath, double startTimeMs, double durationMs, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseSpeakerId(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initDiarization(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void processDiarizationFile(String filePath, double numClusters, double threshold, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void processDiarizationFileWindow(String filePath, double startTimeMs, double durationMs, double numClusters, double threshold, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseDiarization(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initKws(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void acceptKwsWaveform(double sampleRate, ReadableArray samples, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void resetKwsStream(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseKws(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initVad(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void acceptVadWaveform(double sampleRate, ReadableArray samples, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void resetVad(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseVad(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initLanguageId(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void detectLanguage(double sampleRate, ReadableArray samples, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void detectLanguageFromFile(String filePath, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseLanguageId(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initPunctuation(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void addPunctuation(String text, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releasePunctuation(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void initDenoiser(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void denoiseFile(String filePath, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseDenoiser(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void createOnnxSession(ReadableMap config, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void runOnnxSession(String sessionId, ReadableArray inputNames, ReadableArray inputTypes, ReadableArray inputDims, ReadableArray inputData, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void releaseOnnxSession(String sessionId, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void extractTarBz2(String sourcePath, String targetDir, Promise promise);
}
