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 _memoryBuffer;
    private _memoryBufferUint8;
    private _memoryBufferView;
    private _processMutex;
    private _objectAddress;
    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://picovoice.ai/console/).
     * @param contextInfo - Base64 representation of the context and it's sensitivity.
     * @param requireEndpoint - Boolean. If set to `true`, Rhino requires an endpoint (chunk of silence) before finishing inference.
     *
     * @returns An instance of the Rhino engine.
     */
    static create(accessKey: string, contextInfo: RhinoContext, requireEndpoint?: boolean): Promise<Rhino>;
    private static initWasm;
}
export default Rhino;
//# sourceMappingURL=rhino.d.ts.map