UNPKG

clwoz-models

Version:
35 lines (34 loc) 1.08 kB
/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { EntityBase } from './Entity'; import { ActionBase } from './Action'; import { TrainDialog } from './TrainDialog'; export interface AppDefinition { appId?: string; entities: EntityBase[]; actions: ActionBase[]; trainDialogs: TrainDialog[]; } export interface AppDefinitionChanges { entities: IChangeResult<EntityBase>[]; actions: IChangeResult<ActionBase>[]; trainDialogs: IChangeResult<TrainDialog>[]; } export interface AppDefinitionWithoutChange { isChanged: false; currentAppDefinition: AppDefinition; } export interface AppDefinitionWithChange { isChanged: true; currentAppDefinition: AppDefinition; updatedAppDefinition: AppDefinition; appDefinitionChanges: AppDefinitionChanges; } export declare type AppDefinitionChange = AppDefinitionWithChange | AppDefinitionWithoutChange; export interface IChangeResult<T> { isChanged: boolean; value: T; changes: string[]; }