/*! Copyright (c) 2019, XAPPmedia */ import { Fulfillment } from "./Fulfillment"; import { Intent } from "./Intent"; /** * Action represents a specific interaction App supports, it can be a single shot action, or a multi-step interaction. * * @see https://developers.google.com/actions/reference/rest/Shared.Types/Action * * @export * @interface Action */ export interface Action { /** * Name of the action. If a built-in action name is used (starts with actions.), intent and description are implied. They must be blank. * * For built-in intents or custom intents, use a custom action name. * * @type {string} * @memberof Action */ name: string; /** * How to execute this action. * * @type {Fulfillment} * @memberof Action */ fulfillment: Fulfillment; /** * Intent that this action fulfills. Built-in intents start with actions.. * * @type {Intent} * @memberof Action */ intent: Intent; /** * English description what the action does. This is mainly used for Google to review the action or debugging purpose. This description will not be shown to users. It must be less than 100 ASCII letters. * * @type {string} * @memberof Action */ description?: string; /** * Indicates whether sign-in is required for this action. Note this is valid only when App has AccountLinking specified inside Manifest. * * @type {boolean} * @memberof Action */ signInRequired?: boolean; }