2025-05-16 15:49:07 +01:00
## API Report File for "@element-hq/element-web-module-api"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { JSX } from 'react' ;
import { ModuleApi } from '@matrix-org/react-sdk-module-api' ;
import { Root } from 'react-dom/client' ;
import { RuntimeModule } from '@matrix-org/react-sdk-module-api' ;
// @alpha @deprecated (undocumented)
export interface AliasCustomisations {
// (undocumented)
getDisplayAliasForAliasSet ? ( canonicalAlias : string | null , altAliases : string []) : string | null ;
}
// Warning: (ae-incompatible-release-tags) The symbol "Api" is marked as @public, but its signature references "LegacyModuleApiExtension" which is marked as @alpha
// Warning: (ae-incompatible-release-tags) The symbol "Api" is marked as @public, but its signature references "LegacyCustomisationsApiExtension" which is marked as @alpha
//
// @public
export interface Api extends LegacyModuleApiExtension , LegacyCustomisationsApiExtension {
readonly config : ConfigApi ;
createRoot ( element : Element ) : Root ;
2025-06-17 14:03:10 +01:00
// @alpha
2025-05-16 15:49:07 +01:00
readonly customComponents : CustomComponentsApi ;
readonly i18n : I18nApi ;
readonly rootNode : HTMLElement ;
}
// @alpha @deprecated (undocumented)
export interface ChatExportCustomisations < ExportFormat , ExportType > {
getForceChatExportParameters () : {
format? : ExportFormat ;
range? : ExportType ;
numberOfMessages? : number ;
includeAttachments? : boolean ;
sizeMb? : number ;
};
}
// @alpha @deprecated (undocumented)
export interface ComponentVisibilityCustomisations {
shouldShowComponent ? ( component : "UIComponent.sendInvites" | "UIComponent.roomCreation" | "UIComponent.spaceCreation" | "UIComponent.exploreRooms" | "UIComponent.addIntegrations" | "UIComponent.filterContainer" | "UIComponent.roomOptionsMenu" ) : boolean ;
}
// @public
export interface Config {
// (undocumented)
brand : string ;
}
// @public
export interface ConfigApi {
// (undocumented)
get () : Config ;
// (undocumented)
get < K extends keyof Config >( key : K ) : Config [ K ];
// (undocumented)
get < K extends keyof Config = never >( key? : K ) : Config | Config [ K ];
}
2025-06-17 14:03:10 +01:00
// @alpha
2025-05-30 14:51:28 +01:00
export interface CustomComponentsApi {
2025-06-12 10:58:45 +01:00
registerMessageRenderer ( eventTypeOrFilter : string | (( mxEvent : MatrixEvent ) => boolean ), renderer : CustomMessageRenderFunction , hints? : CustomMessageRenderHints ) : void ;
2025-05-30 14:51:28 +01:00
}
// @alpha
export type CustomMessageComponentProps = {
mxEvent : MatrixEvent ;
2025-05-16 15:49:07 +01:00
};
2025-06-09 15:41:53 +01:00
// @alpha
2025-05-30 14:51:28 +01:00
export type CustomMessageRenderFunction = (
props : CustomMessageComponentProps ,
2025-06-09 15:41:53 +01:00
originalComponent ?: ( props? : OriginalComponentProps ) => React . JSX . Element ) => JSX . Element ;
// @alpha
export type CustomMessageRenderHints = {
allowEditingEvent? : boolean ;
2025-07-03 13:06:26 +01:00
allowDownloadingMedia ?: ( mxEvent : MatrixEvent ) => Promise < boolean >;
2025-06-09 15:41:53 +01:00
};
2025-05-16 15:49:07 +01:00
// @alpha @deprecated (undocumented)
export interface DirectoryCustomisations {
// (undocumented)
requireCanonicalAliasAccessToPublish ? () : boolean ;
}
// @public
export interface I18nApi {
get language () : string ;
register ( translations : Partial < Translations >) : void ;
translate ( key : keyof Translations , variables? : Variables ) : string ;
}
// @alpha @deprecated (undocumented)
export type LegacyCustomisations < T extends object > = ( customisations : T ) => void ;
// @alpha @deprecated (undocumented)
export interface LegacyCustomisationsApiExtension {
// @deprecated (undocumented)
readonly _registerLegacyAliasCustomisations : LegacyCustomisations < AliasCustomisations >;
// @deprecated (undocumented)
readonly _registerLegacyChatExportCustomisations : LegacyCustomisations < ChatExportCustomisations < never , never >>;
// @deprecated (undocumented)
readonly _registerLegacyComponentVisibilityCustomisations : LegacyCustomisations < ComponentVisibilityCustomisations >;
// @deprecated (undocumented)
readonly _registerLegacyDirectoryCustomisations : LegacyCustomisations < DirectoryCustomisations >;
// @deprecated (undocumented)
readonly _registerLegacyLifecycleCustomisations : LegacyCustomisations < LifecycleCustomisations >;
// @deprecated (undocumented)
readonly _registerLegacyMediaCustomisations : LegacyCustomisations < MediaCustomisations < never , never , never >>;
// @deprecated (undocumented)
readonly _registerLegacyRoomListCustomisations : LegacyCustomisations < RoomListCustomisations < never >>;
// @deprecated (undocumented)
readonly _registerLegacyUserIdentifierCustomisations : LegacyCustomisations < UserIdentifierCustomisations >;
// @deprecated (undocumented)
readonly _registerLegacyWidgetPermissionsCustomisations : LegacyCustomisations < WidgetPermissionsCustomisations < never , never >>;
// @deprecated (undocumented)
readonly _registerLegacyWidgetVariablesCustomisations : LegacyCustomisations < WidgetVariablesCustomisations >;
}
// @alpha @deprecated (undocumented)
export interface LegacyModuleApiExtension {
// @deprecated
_registerLegacyModule ( LegacyModule : RuntimeModuleConstructor ) : Promise < void >;
}
// @alpha @deprecated (undocumented)
export interface LifecycleCustomisations {
// (undocumented)
onLoggedOutAndStorageCleared ? () : void ;
}
2025-06-17 14:03:10 +01:00
// @alpha
2025-06-17 13:30:47 +01:00
export interface MatrixEvent {
content : Record < string , unknown >;
eventId : string ;
originServerTs : number ;
2025-06-17 14:03:10 +01:00
roomId : string ;
2025-06-17 13:30:47 +01:00
sender : string ;
stateKey? : string ;
type : string ;
unsigned : Record < string , unknown >;
}
2025-05-16 15:49:07 +01:00
// @alpha @deprecated (undocumented)
export interface Media {
// (undocumented)
downloadSource () : Promise < Response >;
// (undocumented)
getSquareThumbnailHttp ( dim : number ) : string | null ;
// (undocumented)
getThumbnailHttp ( width : number , height : number , mode ?: "scale" | "crop" ) : string | null ;
// (undocumented)
getThumbnailOfSourceHttp ( width : number , height : number , mode ?: "scale" | "crop" ) : string | null ;
// (undocumented)
readonly hasThumbnail : boolean ;
// (undocumented)
readonly isEncrypted : boolean ;
// (undocumented)
readonly srcHttp : string | null ;
// (undocumented)
readonly srcMxc : string ;
// (undocumented)
readonly thumbnailHttp : string | null ;
// (undocumented)
readonly thumbnailMxc : string | null | undefined ;
}
// @alpha @deprecated (undocumented)
export interface MediaContructable < PreparedMedia > {
// (undocumented)
new ( prepared : PreparedMedia ) : Media ;
}
// @alpha @deprecated (undocumented)
export interface MediaCustomisations < Content , Client , PreparedMedia > {
// (undocumented)
readonly Media : MediaContructable < PreparedMedia >;
// (undocumented)
mediaFromContent ( content : Content , client? : Client ) : Media ;
// (undocumented)
mediaFromMxc ( mxc? : string , client? : Client ) : Media ;
}
// @public
export interface Module {
// (undocumented)
load () : Promise < void >;
}
// @public
export interface ModuleFactory {
// (undocumented)
new ( api : Api ) : Module ;
// (undocumented)
readonly moduleApiVersion : string ;
// (undocumented)
readonly prototype : Module ;
}
// @public
export class ModuleIncompatibleError extends Error {
constructor ( pluginVersion : string );
}
// @public
export class ModuleLoader {
constructor ( api : Api );
// Warning: (ae-forgotten-export) The symbol "ModuleExport" needs to be exported by the entry point index.d.ts
//
// (undocumented)
load ( moduleExport : ModuleExport ) : Promise < void >;
// (undocumented)
start () : Promise < void >;
}
2025-06-05 09:58:51 +01:00
// @alpha
export type OriginalComponentProps = {
showUrlPreview? : boolean ;
};
2025-05-16 15:49:07 +01:00
// @alpha @deprecated (undocumented)
export interface RoomListCustomisations < Room > {
isRoomVisible ? ( room : Room ) : boolean ;
}
// @alpha @deprecated (undocumented)
export type RuntimeModuleConstructor = new ( api : ModuleApi ) => RuntimeModule ;
// @public
export type Translations = Record < string , {
[ ietfLanguageTag : string ]: string ;
}>;
// @alpha @deprecated (undocumented)
export interface UserIdentifierCustomisations {
getDisplayUserIdentifier ( userId : string , opts : {
roomId? : string ;
withDisplayName? : boolean ;
}) : string | null ;
}
// @public
export type Variables = {
count? : number ;
[ key : string ] : number | string | undefined ;
};
// @alpha @deprecated (undocumented)
export interface WidgetPermissionsCustomisations < Widget , Capability > {
preapproveCapabilities ? ( widget : Widget , requestedCapabilities : Set < Capability >) : Promise < Set < Capability >>;
}
// @alpha @deprecated (undocumented)
export interface WidgetVariablesCustomisations {
isReady ? () : Promise < void >;
provideVariables ? () : {
currentUserId : string ;
userDisplayName? : string ;
userHttpAvatarUrl? : string ;
clientId? : string ;
clientTheme? : string ;
clientLanguage? : string ;
deviceId? : string ;
baseUrl? : string ;
};
}
// (No @packageDocumentation comment for this package)
```