import { PhilipsMicMode } from '../interop';
import { EditorType } from '../interop/core/EditorType';
import { TargetEditor } from '../interop/core/TargetEditor';
/**
 * Augnito Client Configuration
 */
interface AugnitoConfig {
    /**
     * Server configuration: India, UK, US
     * @description Mandatory field
     */
    server: string | AugnitoAPIServer;
    /**
     * Application's Acccount Code
     * @description Mandatory field
     */
    accountCode: string;
    /**
     * Application's Access Key
     * @description Mandatory field
     */
    accessKey: string;
    /**
     * Language Model Id
     * @description Mandatory field
     */
    lmId: string;
    /**
     * Optional Field: Enables or Disables Logging system
     * @description True if logs are enabled; Otherwise false
     */
    enableLogs?: boolean;
    /**
     * Unique identifier of the current user (from client application)
     * @description Mandatory field
     */
    userTag: string;
    /**
     * The name of the current Application
     * @description Mandatory field
     */
    sourceApp: string;
    /**
     * Optional Field: To set noise cancellation value
     * @description default value is 1,
     */
    noiseCt?: string;
    /**
     * Optional Field: To be used with Augnito Mobile SDK
     * DeviceId should be provided if mobile client is going to be created.
     */
    deviceId?: string;
    /**
     * Optional Field: Client application can pass an encrypted login token via this
     * parameter which may represent user login timestamp.
     */
    loginToken?: string;
    /**
     * Optional Field: The client application can pass any name of component, application window, microphone
     * identifier, etc. to tag to a speech session. This information may be used for later analysis.
     */
    otherInfo?: string;
    /**
     * The list of valid editors
     */
    listOfControls?: TargetEditor[];
    /**
     * Sets the editor WYSIWYG editor
     */
    editor?: EditorType;
    /**
     * Sets PhilipsMic push to talk or hands free mode
     */
    philipsMicMode?: PhilipsMicMode;
    /**
     * Require early initialisation of recorder mic to start listening immediately on mic start
     */
    earlyInitialiseRecorder?: boolean;
    /**
     * Require early initialisation and streaming of audio which is dictated just before resuming mic. The value indicates interval (in seconds) of audio which needs to be streamed while resuming mic
     */
    pauseStateBufferInterval?: number;
}
/**
 * Speech API Server
 */
declare enum AugnitoAPIServer {
    /**
     * Augnito's India Server
     */
    INDIA = 0,
    /**
     * Augnito's United Kingdom Server
     */
    UK = 1,
    /**
     * Augnito's United States Server
     */
    US = 2,
    /**
     * Augnito's Saudi Arabia Server
     */
    KSA = 3
}
export { AugnitoConfig, AugnitoAPIServer };
