internal static unsafe extern void DS_DestroyModel(ModelState **aCtx);
internal static unsafe extern int DS_SetupStream(ModelState **aCtx, uint aPreAllocFrames, uint aSampleRate, ref StreamingState **retval);
internal static unsafe extern int DS_EnableDecoderWithLM(ModelState **aCtx, string aAlphabetConfigPath, string aLMPath, string aTriePath, float aLMAlpha, float aLMBeta);
internal static unsafe extern IntPtr DS_SpeechToTextWithMetadata(ModelState **aCtx, short[] aBuffer, uint aBufferSize, uint aSampleRate);
internal static unsafe extern ErrorCodes DS_CreateStream(ModelState **aCtx, uint aSampleRate, ref StreamingState **retval);
internal unsafe static extern int DS_CreateModel(string aModelPath, uint aNCep, uint aNContext, string aAlphabetConfigPath, uint aBeamWidth, ref ModelState **pint);
internal static unsafe extern void DS_FreeModel(ModelState **aCtx);
internal static unsafe extern ErrorCodes DS_EnableDecoderWithLM(ModelState **aCtx, string aLMPath, string aTriePath, float aLMAlpha, float aLMBeta);
internal unsafe static extern ErrorCodes DS_CreateModel(string aModelPath, string aAlphabetConfigPath, uint aBeamWidth, ref ModelState **pint);
internal static unsafe extern string DS_SpeechToText(ModelState **aCtx, short[] aBuffer, uint aBufferSize, uint aSampleRate);
internal static unsafe extern int DS_EnableDecoderWithLM(ModelState **aCtx, string aAlphabetConfigPath, string aLMPath, string aTriePath, float aLMWeight, float aValidWordCountWeight);