import { TypedEmitter } from 'tiny-typed-emitter'; import { Authflow } from 'prismarine-auth'; export declare enum ChannelType { System = "System", GroupMessage = "GroupMessage", XboxMessage = "XboxMessage" } export declare enum PayloadType { ContentMessage = "ContentMessage", SetHorizon = "SetHorizon", JoinChatChannel = "JoinChatChannel" } export declare enum ConversationType { Group = "Group", OneToOne = "OneToOne" } export declare enum MessageType { WhoAmI = "WhoAmI", JoinChannel = "JoinChannel", LeaveChannel = "LeaveChannel", UserInfo = "UserInfo", BasicText = "BasicText", Horizons = "Horizons", XboxMessage = "XboxMessage", NoOp = "NoOp" } export declare enum PartContentType { Text = "text", Weblink = "weblink", Image = "image", FeedItem = "feedItem", WeblinkMedia = "weblinkMedia", Voice = "voice", DirectMention = "directMention" } export type XboxMessageOptions = { cacheIdentifier?: string; cachePath?: string; authflow?: Authflow; }; import { Rest } from './rest'; import { GatewayEventResponse, WebsocketManager, GatewayXboxMessageJoinChatChannel } from './ws'; import { User } from './classes/User'; import { Message } from './classes/Message'; import { UserManager } from './classes/managers/UserManager'; import { ConversationManager } from './classes/managers/ConversationManager'; import { GroupManager } from './classes/managers/GroupManager'; interface MessageEvents { event: (event: GatewayEventResponse) => void; message: (message: Message) => void; messageDelete: (message: Message) => void; channelJoin: (event: GatewayXboxMessageJoinChatChannel) => void; } export declare class XboxMessage extends TypedEmitter { rest: Rest; users: UserManager; conversations: ConversationManager; groups: GroupManager; authflow: Authflow; ws: WebsocketManager; user: User | null; constructor(options?: XboxMessageOptions); connect(): Promise; destroy(resume?: boolean): Promise; } export * from './ws'; export * from './rest'; export * from './classes/errors/XboxMessageError'; export * from './classes/managers/UserManager'; export * from './classes/managers/ConversationManager'; export * from './classes/managers/GroupManager'; export * from './classes/managers/MessageManager'; export * from './classes/MessagePayload'; export * from './classes/MessageEntity'; export * from './classes/Message'; export * from './classes/User'; export * from './classes/Group'; export * from './classes/Conversation/BaseConversation'; export * from './classes/Conversation/GroupConversation'; export * from './classes/Conversation/OneToOneConversation'; export * from './classes/Parts/BasePart'; export * from './classes/Parts/DirectMentionPart'; export * from './classes/Parts/FeedItemPart'; export * from './classes/Parts/ImagePart'; export * from './classes/Parts/TextPart'; export * from './classes/Parts/UnknownPart'; export * from './classes/Parts/VoicePart'; export * from './classes/Parts/WeblinkMediaPart'; export * from './classes/Parts/WeblinkPart';