import { RhinoInference, RhinoContext, RhinoEngine } from '@picovoice/rhino-web-core'; export declare class Rhino implements RhinoEngine { private _pvRhinoDelete; private _pvRhinoFreeSlotsAndValues; private _pvRhinoGetIntent; private _pvRhinoIsUnderstood; private _pvRhinoProcess; private _pvRhinoReset; private _pvStatusToString; private _wasmMemory; private _pvFree; private _memoryBuffer; private _memoryBufferUint8; private _memoryBufferView; private _processMutex; private _objectAddress; private _contextAddress; private _inputBufferAddress; private _isFinalizedAddress; private _isUnderstoodAddress; private _intentAddressAddress; private _numSlotsAddress; private _slotsAddressAddressAddress; private _valuesAddressAddressAddress; private static _frameLength; private static _sampleRate; private static _version; private static _contextInfo; private static _rhinoMutex; private constructor(); /** * Releases resources acquired by WebAssembly module. */ release(): Promise; /** * Processes a frame of audio. * * @param pcm A frame of audio. The required sample rate can be retrieved from `.sampleRate` and the length * of frame (number of audio samples per frame) can be retrieved from `.frameLength`. The audio needs to be * 16-bit linearly-encoded. Furthermore, the engine operates on single-channel audio. * @returns the Rhino inference (`isFinalized` will always be present: when it's true the entire object will be populated) */ process(pcm: Int16Array): Promise; private _getSlot; private _getSlotValue; get version(): string; get sampleRate(): number; get frameLength(): number; get contextInfo(): string; /** * Creates an instance of the Rhino speech-to-intent engine. * Behind the scenes, it requires the WebAssembly code to load and initialize before * it can create an instance. * * @param accessKey - AccessKey obtained from Picovoice Console (https://console.picovoice.ai/). * @param contextInfo - Base64 representation of the context and it's sensitivity. * @param endpointDurationSec Endpoint duration in seconds. An endpoint is a chunk of silence at the end of an * utterance that marks the end of spoken command. It should be a positive number within [0.5, 5]. A lower endpoint * duration reduces delay and improves responsiveness. A higher endpoint duration assures Rhino doesn't return inference * pre-emptively in case the user pauses before finishing the request. * @param requireEndpoint If set to `true`, Rhino requires an endpoint (a chunk of silence) after the spoken command. * If set to `false`, Rhino tries to detect silence, but if it cannot, it still will provide inference regardless. Set * to `false` only if operating in an environment with overlapping speech (e.g. people talking in the background) * * @returns An instance of the Rhino engine. */ static create(accessKey: string, contextInfo: RhinoContext, endpointDurationSec?: number, requireEndpoint?: boolean): Promise; private static initWasm; } export default Rhino; //# sourceMappingURL=rhino.d.ts.map