import { Assistant } from './assistant';
import { ChatType, ConversationContext } from './context';
import { PluginObject } from './plugin';
import { MaybePromise } from './typescript';

export interface ChatModel extends PluginObject {
    /**
     * 名称
     */
    name: string;
    /**
     * 人类可读名称
     */
    human_name: string;
    /**
     * 支持的输出类型
     */
    input_type: ChatType[];
    /**
     * 简单描述
     */
    summary?: string;
    /**
     * 招呼语
     */
    greeting?: string;
    /**
     * @param context -
     * @param assistant-
     */
    call(context: ConversationContext, assistant: Assistant): MaybePromise<void>;
}
