lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
46 lines (45 loc) • 1.43 kB
TypeScript
import { ResponseResult } from "../../../FieldChangeResult";
import { ChatServiceErrorCode } from "../../ChatService";
import { IChatImplementation, IMessage } from "../../IChatService";
export interface IControllerChat extends IChatImplementation {
GetCachedMessagesAsync(): Promise<IControllerChatMessage[] | ResponseResult<ChatServiceErrorCode>>;
}
export interface IControllerChatMessage extends IMessage {
get Sender(): ControllerChatSender;
get MessageType(): ControllerMessageType;
get MessageSource(): ControllerMessageSource;
get SenderUserGuid(): string;
get RecipientUserGuid(): string;
get TextToSpeechMessage(): string;
get MessageActions(): Map<ControllerMessageActions, number>;
get MessageActionsData(): Map<string, any>;
}
export declare enum ControllerChatSender {
User = 0,
Controller = 1,
Marketing = 2
}
export declare enum ControllerMessageType {
Notification = 0,
Message = 1,
Alarm = 2,
Warning = 3,
Info = 4
}
export declare enum ControllerMessageSource {
Other = 0,
UserLoggedIn = 1,
UserLoggedOut = 2,
FoundNewDevice = 3,
DoorBellPress = 4,
AddedNewDevice = 5,
RemovedDevice = 6,
RegisteredNewUser = 7,
GotAccessToTheInternet = 8,
LostAccessToTheInternet = 9,
RemovedUser = 10,
NetworkChanged = 11
}
export declare enum ControllerMessageActions {
WeatherWidget = "WeatherWidget"
}