diff --git a/packages/element-web-module-api/src/api/custom-components.ts b/packages/element-web-module-api/src/api/custom-components.ts index 794786538a..0c8a26712d 100644 --- a/packages/element-web-module-api/src/api/custom-components.ts +++ b/packages/element-web-module-api/src/api/custom-components.ts @@ -6,7 +6,7 @@ Please see LICENSE files in the repository root for full details. */ import type { JSX } from "react"; -import type { MatrixEvent } from "matrix-js-sdk/lib/matrix"; +import type { MatrixEvent } from "../models/event"; /** * Properties for all message components. diff --git a/packages/element-web-module-api/src/index.ts b/packages/element-web-module-api/src/index.ts index 4fbf15e9ba..0a7337ec21 100644 --- a/packages/element-web-module-api/src/index.ts +++ b/packages/element-web-module-api/src/index.ts @@ -9,6 +9,7 @@ export { ModuleLoader, ModuleIncompatibleError } from "./loader"; export type { Api, Module, ModuleFactory } from "./api"; export type { Config, ConfigApi } from "./api/config"; export type { I18nApi, Variables, Translations } from "./api/i18n"; +export type * from "./models/event"; export type * from "./api/custom-components"; export type * from "./api/legacy-modules"; export type * from "./api/legacy-customisations"; diff --git a/packages/element-web-module-api/src/models/event.ts b/packages/element-web-module-api/src/models/event.ts new file mode 100644 index 0000000000..d8c1cfad86 --- /dev/null +++ b/packages/element-web-module-api/src/models/event.ts @@ -0,0 +1,24 @@ +import type { EventStatus, IEventRelation, Membership } from "matrix-js-sdk"; + +/** + * Representation of a Matrix event. + * @beta + */ +export interface MatrixEvent { + // Properties provided by the spec + eventId: string; + roomId?: string; + sender: string; + content: Record; + unsigned: Record; + type: string; + stateKey?: string; + originServerTs: number; + redacts?: string; + + // Properties provided by the SDK + membership?: Membership; + status: EventStatus; + relation?: IEventRelation | null; + age?: number; +}