import { Store } from 'redux'; import { WolfState, Ability, ConvoState } from '../types'; export interface ExecuteResult { runOnComplete: () => Promise[]>; addMessage: (msgData: OnCompletePromiseResult) => void; } interface OnCompletePromiseResult { result: T; abilityName: string; } /** * Execute Stage (S4): * * Responsible for executing an ability onComplete, slot query or bypass. * * @param store redux * @param convoState conversationState * @param abilities user defined abilities and slots */ export default function execute(store: Store, convoState: ConvoState, abilities: Ability[]): ExecuteResult | void; export {};