import type { OctopusEngine, OctopusMetadata, OctopusMatch } from './octopus_types';
export declare class Octopus implements OctopusEngine {
    private _allignedAlloc;
    private _pvOctopusDelete;
    private _pvOctopusIndex;
    private _pvOctopusSearch;
    private _pvStatusToString;
    private _wasmMemory;
    private _memoryBufferView;
    private _objectAddress;
    private _metadataAddressAddress;
    private _metadataLengthAddress;
    private _octopusMatchAddressAddress;
    private _octopusMatchLengthAddress;
    private static _sampleRate;
    private static _version;
    private constructor();
    /**
     * Releases resources acquired by WebAssembly module.
     */
    release(): Promise<void>;
    /**
     * Processes multiple frames of audio samples. The required sample rate can be retrieved from '.sampleRate'.
     * The audio needs to bit 16-bit linearly-encoded. Furthermore, the engine operates on single-channel audio.
     *
     * @param pcm - A sample of audio with properties described above.
     * @return Octopus metadata object.
     */
    index(pcm: Int16Array): Promise<OctopusMetadata>;
    /**
     * Searches metadata for a given search phrase.
     *
     * @param octopusMetadata - An octopus metadata object.
     * @param searchPhrase - The text phrase to search the metadata (indexed audio) for.
     * @return An array of OctopusMatch objects.
     */
    search(octopusMetadata: OctopusMetadata, searchPhrase: string): Promise<OctopusMatch[]>;
    get version(): string;
    get sampleRate(): number;
    /**
     * Creates an instance of the the Picovoice Octopus Speech-To-Index engine.
     * Behind the scenes, it requires the WebAssembly code to load and initialize before
     * it can create an instance.
     *
     * @param accessKey - AccessKey generated by Picovoice Console (https://picovoice.ai/console/)
     *
     * @returns An instance of the Octopus engine.
     */
    static create(accessKey: string): Promise<Octopus>;
    private static initWasm;
}
export default Octopus;
//# sourceMappingURL=octopus.d.ts.map