import Dialog from './dialog'; import Injection from './injection'; import Feedback from './feedback'; import Audio from './audio'; import Tts from './tts'; import ApiSubset from './ApiSubset'; import { HermesOptions } from './types'; export { Dialog, Injection, Feedback, Audio, Tts }; export { ApiSubset }; export * from './types'; /** * Hermes javascript is an high level API that allows you to * subscribe and send Snips messages using the Hermes protocol. * * **Important: do not instantiate this class more than once!** */ export declare class Hermes { /** * Create a new Hermes instance that connects to the underlying event bus. * * **Important: Each call to this function will open the hermes shared library * and bind hermes-protocol to it. It is an expensive operation.** * * @param options - Options used to instantiate a new Hermes object. */ constructor(options?: HermesOptions); /** * Return a Dialog instance used to interact with the dialog API. * * @returns A Dialog instance, reused from a previous call if possible. */ dialog(): Dialog; /** * Return an Injection instance used to interact with the vocabulary injection API. * * @returns An Injection instance, reused from a previous call if possible. */ injection(): Injection; /** * Return a Feedback object instance used to interact with the audio feedback API. * * @returns An Feedback instance, reused from a previous call if possible. */ feedback(): Feedback; /** * Return a Tts object instance used to interact with the text to speech API. * * @returns An Tts instance, reused from a previous call if possible. */ tts(): Tts; /** * @experimental * * **Warning: Experimental, use at your own risk!** * * Returns an Audio object instance used to interact with the audio playback API. * * @returns An Audio instance, reused from a previous call if possible. */ audio(): Audio; /** * Disposes the hermes object and its underlying resources. */ destroy(): void; private _getOrCreateSubset; private static defaultOptions; private options; private activeSubsets; private call; private protocolHandler; }