import { OrderInfo, OrderManagementAppStates, OrderManagementUserJourney } from "../orders"; import { SearchInfo, SearchUserJourney, SearchAppStates } from "../search"; import { NavigationAppStates, NavigationUserJourney } from "../navigation"; import { CheckoutAppStates, CheckoutUserJourney } from "../checkout"; import { PromotionsAppStates, PromotionsUserJourney } from "../promotions"; import { AssistantError } from "./AssistantError"; import { SmallTalkAppStates, SmallTalkUserJourney } from "../smallTalk"; import { SmallTalkInfo } from "../smallTalk/smallTalkInfo"; import { NavigationInfo } from "../navigation/navigationInfo"; import { CheckoutInfo } from "../checkout/checkoutInfo"; import { PromotionsInfo } from "../promotions/promotionsinfo"; interface AppAction { onOrderManagement: (orderInfo: OrderInfo, session: OrderManagementUserJourney) => OrderManagementAppStates; onSearch: (SearchInfo: SearchInfo, userJourney: SearchUserJourney) => SearchAppStates; onNavigation: (navigationInfo: NavigationInfo, navigationUserJourney: NavigationUserJourney) => NavigationAppStates; onCheckout: (checkoutInfo: CheckoutInfo, checkoutUserJourney: CheckoutUserJourney) => CheckoutAppStates; onPromotionManagement: (promotionInfo: PromotionsInfo, promotionUserJourney: PromotionsUserJourney) => PromotionsAppStates; onSmallTalk: (smallTalkInfo: SmallTalkInfo, smallTalkUserJourney: SmallTalkUserJourney) => SmallTalkAppStates; onAssistantError: (error: AssistantError) => void; } declare class SlangRetailAssistantListener implements AppAction { onOrderManagement: (orderInfo: OrderInfo, session: OrderManagementUserJourney) => OrderManagementAppStates; onSearch: (searchInfo: SearchInfo, session: SearchUserJourney) => SearchAppStates; onNavigation: (navigationInfo: NavigationInfo, navigationUserJourney: NavigationUserJourney) => NavigationAppStates; onCheckout: (checkoutInfo: CheckoutInfo, checkoutUserJourney: CheckoutUserJourney) => CheckoutAppStates; onPromotionManagement: (promotionInfo: PromotionsInfo, promotionUserJourney: PromotionsUserJourney) => PromotionsAppStates; onSmallTalk: (smallTalkInfo: SmallTalkInfo, smallTalkUserJourney: SmallTalkUserJourney) => SmallTalkAppStates; onAssistantError: (error: AssistantError) => void; } interface OnSearchListener { onSearch: (searchInfo: SearchInfo, session: SearchUserJourney) => void; } export { SlangRetailAssistantListener, AppAction, OnSearchListener };