/** * 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 { entities: EntityBase[]; actions: ActionBase[]; trainDialogs: TrainDialog[]; } export interface AppDefinitionChanges { entities: IChangeResult[]; actions: IChangeResult[]; trainDialogs: IChangeResult[]; } 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 { isChanged: boolean; value: T; changes: string[]; }