UNPKG

lavva.exalushome

Version:

Library implementing communication and abstraction layers for ExalusHome system

23 lines (22 loc) 799 B
import { Status } from "../../DataFrame"; import { IDIService } from "../../IDIService"; export interface IChatService extends IDIService { GetChatImplementation<T extends IChatImplementation>(chatType: ChatType): T; } export interface IChatImplementation { SendMessageAsync(message: string): Promise<Status>; SubscribeToMessages<T extends IMessage>(messageHandler: MessageHandler<T>): void; UnsubscribeFromMessages<T extends IMessage>(messageHandler: MessageHandler<T>): void; } export type MessageHandler<T extends IMessage> = (msg: T) => void; export interface IMessage { get Guid(): string; get SenderName(): string; get MessageText(): string; get DateTime(): string; } export declare enum ChatType { ControllerChat = 0, FamilyChat = 1, GptChat = 2 }