/*! Copyright (c) 2019, XAPPmedia */ import { GoogleActionsV2ExpectedIntent } from "actions-on-google"; import { AccountLinkData } from "./AccountLinkData"; import { CarouselSelectData } from "./CarouselSelect"; import { ListSelectData } from "./ListSelect"; import { PermissionInputValueData } from "./PermissionInputValueData"; export interface Trigger { queryPatterns: string[]; } /** * The expected intent the app is asking the assistant to provide. * * @see https://developers.google.com/actions/reference/rest/Shared.Types/AppResponse#ExpectedIntent * * This extends the provided Google model to provide better type safety, especially for Lists * which are not available in as a model. * * @export * @interface ExpectedIntent */ export interface ExpectedIntent extends GoogleActionsV2ExpectedIntent { /** * The built-in intent name, e.g. `actions.intent.TEXT`, or intents * defined in the action package. If the intent specified is not a built-in * intent, it is only used for speech biasing and the input provided by the * Google Assistant will be the `actions.intent.TEXT` intent. */ intent?: string; /** * Additional configuration data required by a built-in intent. Possible * values for the built-in intents: `actions.intent.OPTION ->` * [google.actions.v2.OptionValueSpec], `actions.intent.CONFIRMATION ->` * [google.actions.v2.ConfirmationValueSpec], * `actions.intent.TRANSACTION_REQUIREMENTS_CHECK ->` * [google.actions.v2.TransactionRequirementsCheckSpec], * `actions.intent.DELIVERY_ADDRESS ->` * [google.actions.v2.DeliveryAddressValueSpec], * `actions.intent.TRANSACTION_DECISION ->` * [google.actions.v2.TransactionDecisionValueSpec], * `actions.intent.PLACE ->` * [google.actions.v2.PlaceValueSpec], * `actions.intent.Link ->` * [google.actions.v2.LinkValueSpec] */ inputValueData?: ListSelectData | CarouselSelectData | PermissionInputValueData | AccountLinkData; /** * Optionally, a parameter of the intent that is being requested. Only valid * for requested intents. Used for speech biasing. */ parameterName?: string; trigger?: Trigger; data?: object; }