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<void>;
    /**
     * 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<RhinoInference>;
    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<Rhino>;
    private static initWasm;
}
export default Rhino;
//# sourceMappingURL=rhino.d.ts.map