import { PorcupineKeyword, PorcupineEngine } from '@picovoice/porcupine-web-core';
export declare class Porcupine implements PorcupineEngine {
    private _pvPorcupineDelete;
    private _pvPorcupineProcess;
    private _pvStatusToString;
    private _wasmMemory;
    private _memoryBuffer;
    private _memoryBufferView;
    private _processMutex;
    private _objectAddress;
    private _inputBufferAddress;
    private _keywordIndexAddress;
    private _keywordLabels;
    private static _frameLength;
    private static _sampleRate;
    private static _version;
    private static _porcupineMutex;
    private constructor();
    /**
     * Releases resources acquired by WebAssembly module.
     */
    release(): Promise<void>;
    /**
     * Processes 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.
     *
     * @param pcm - A frame of audio with properties described above.
     * @returns - Index of detected keyword (phrase). When no keyword is detected, it returns -1.
     */
    process(pcm: Int16Array): Promise<number>;
    get version(): string;
    get sampleRate(): number;
    get frameLength(): number;
    get keywordLabels(): Map<number, string>;
    /**
     * Creates an instance of the Porcupine wake word 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 keywords - Built-in or Base64
     * representations of keywords and their sensitivities.
     * Can be provided as an array or a single keyword.
     *
     * @returns An instance of the Porcupine engine.
     */
    static create(accessKey: string, keywords: Array<PorcupineKeyword | string> | PorcupineKeyword | string): Promise<Porcupine>;
    private static initWasm;
}
export default Porcupine;
//# sourceMappingURL=porcupine.d.ts.map