import { MatrixEvent, Room } from "matrix-js-sdk"; export type KeanuEventExtension = { isMxThread?: boolean; isChannelMessage?: boolean; isPinned?: boolean; parentThread?: MatrixEvent & KeanuEventExtension; replyEvent?: MatrixEvent & KeanuEventExtension; } export type EventAttachment = { event: MatrixEvent & KeanuEventExtension; src?: string; thumbnail?: string; srcPromise?: Promise; thumbnailPromise?: Promise; srcProgress: number; thumbnailProgress: number; loadSrc: () => void; loadThumbnail: () => Promise; release: (src: boolean, thumbnail: boolean) => void; }; export type KeanuEvent = MatrixEvent & KeanuEventExtension; export type KeanuRoom = Room & { displayType: "im.keanu.room_type_default" | "im.keanu.room_type_voice" | "im.keanu.room_type_file" | "im.keanu.room_type_channel" | undefined; }