import { HandlerInput } from 'ask-sdk-core'; /** * Possible modalities a user can use to respond to a request. */ export declare enum InputModality { /** * User touched the screen. */ TOUCH = "touch", /** * User used their voice. */ VOICE = "voice" } /** * Possible modalities with which the skill may respond to a request. */ export declare enum OutputModality { /** * Response is only displayed on the screen. */ SCREEN = "screen", /** * Response is in the form of a voice prompt, * and may or may not include content displayed on the screen. */ VOICE = "voice", /** * Response type is not yet known. */ INDETERMINATE = "indeterminate" } /** * Describes the style in which a request should be responded to. * The most basic characteristic is what modality the response should have, * but this interface may be extended to describe additional characteristics * as desired (e.g. whispering). */ export interface ResponseStyle { /** * The modality with which a request should be responded to. */ modality: OutputModality; } /** * A function that determines the input modality of a request. */ export declare type InputModalityEvaluator = (input: HandlerInput) => InputModality; /** * A function that suggests the style in which a request should be responded to, * based on the content of the request and the history of how the user responded. */ export declare type ResponseStyleEvaluator = (input: HandlerInput, history: InputModality[]) => ResponseStyle; /** * Default functions for determining input modality and response styles. */ export declare namespace ModalityEvaluationDefaults { /** * Default function for determining the input modality of a request. * This is best-effort and may not work in all cases. * @param input - Input for the current request * @returns InputModality - TOUCH if the request came from a TouchWrapper, * VOICE otherwise. */ function defaultInputModalityEvaluator(input: HandlerInput): InputModality; /** * Default function for suggesting the style in which a request should be responded to. * @param input - Input for the current request * @param history - History of how the user responded to previous requests. * The current request is the last entry. * @returns ResponseStyle - SCREEN modality if the last InputModality was TOUCH, VOICE otherwise. */ function defaultResponseStyleEvaluator(input: HandlerInput, history: InputModality[]): ResponseStyle; /** * Function that always returns an INDETERMINATE modality for a suggested ResponseStyle. * This is primarily used as the default override function for built-in controls, which results * in the controls deferring the decision to the function at the ControlManager level. * @returns OutputModality.INDETERMINATE */ function indeterminateResponseStyleEvaluator(input: HandlerInput, history: InputModality[]): { modality: OutputModality; }; } //# sourceMappingURL=ModalityEvaluation.d.ts.map