import { BaseIntegration, DefaultIntegration, InputBaseIntegration } from '../../integration/common/generic'; import * as utils from '../../utils/type-utils'; import * as def from '../definition'; export * from '../../integration/common/generic'; export type BaseAction = { input: any; output: any; }; export type BaseTable = { [k: string]: any; }; export type BaseWorkflow = { input: any; output: any; tags?: { [k: string]: string; }; }; export type BaseState = { type: def.StateType; payload: any; }; export type BaseBot = { integrations: Record; events: Record; states: Record; actions: Record; tables: Record; workflows: Record; }; export type InputBaseBot = utils.DeepPartial; export type DefaultBot = { events: utils.Default; states: utils.Default; actions: utils.Default; integrations: undefined extends B['integrations'] ? BaseBot['integrations'] : { [K in keyof B['integrations']]: DefaultIntegration>; }; tables: utils.Default; workflows: utils.Default; };