import * as utils from '../../utils/type-utils'; export type BaseChannel = { messages: Record; }; export type BaseUser = { tags: Record; }; export type BaseAction = { input: any; output: any; }; export type BaseInterface = { name: string; version: string; actions: Record; channels: Record; events: Record; entities: Record; }; export type InputBaseChannel = utils.DeepPartial; export type DefaultChannel = { messages: utils.Default; }; export type InputBaseInterface = utils.DeepPartial; export type DefaultInterface = { name: utils.Default; version: utils.Default; actions: utils.Default; events: utils.Default; entities: utils.Default; channels: undefined extends I['channels'] ? BaseInterface['channels'] : { [K in keyof I['channels']]: DefaultChannel>; }; };