export interface DialogSet { title?: string; imageUrl: string; startDialogName: string; dialogs: DialogMap; } export type DialogMap = { [key: string]: Dialog; }; export interface Dialog { title?: string; // Can be used to overwrite title from DialogSet imageUrl?: string; // Can be used to overwrite imageUrl from DialogSet text?: string; options: DialogOption[]; addFacts?: FactId[]; removeFacts?: FactId[]; } export interface DialogOption { text: string; linksToDialog: string; requiredFacts?: FactId[]; forbiddenFacts?: FactId[]; } export type FactId = String;