import { SlotStatus, SlotData } from './state'; import { Ability } from './ability'; /** * The object passed to onFill to allow slots */ export interface SetSlotDataFunctions { setSlotValue: (abilityName: string, slotName: string, value: any, runOnFill?: boolean) => void; setSlotEnabled: (abilityName: string, slotName: string, isEnabled: boolean) => void; setSlotDone: (abilityName: string, slotName: string, isDone: boolean) => void; fulfillSlot: (abilityName: string, slotName: string, value: any) => void; } export interface GetSlotDataFunctions { getSlotValue: (slotName: string) => SlotData | undefined; getSlotStatus: (slotName: string) => SlotStatus | undefined; } export interface SlotConfirmationFunctions { requireConfirmation: (slotName: string) => void; accept: () => void; deny: () => void; } export interface GetStateFunctions { getAbilityList: () => Ability[]; }