element-web/packages/element-web-module-api/element-web-module-api.api.md
Michael Telatynski 776d07730a Prettier -_-
2025-01-29 10:56:48 +00:00

7.1 KiB

API Report File for "@element-hq/element-web-module-api"

Do not edit this file. It is a report generated by API Extractor.


import { ModuleApi } from '@matrix-org/react-sdk-module-api';
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 {
    // (undocumented)
    config: ConfigApi;
}

// @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];
}

// @alpha @deprecated (undocumented)
export interface DirectoryCustomisations {
    // (undocumented)
    requireCanonicalAliasAccessToPublish?(): boolean;
}

// @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;
}

// @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>;
}

// @alpha @deprecated (undocumented)
export interface RoomListCustomisations<Room> {
    isRoomVisible?(room: Room): boolean;
}

// @alpha @deprecated (undocumented)
export type RuntimeModuleConstructor = new (api: ModuleApi) => RuntimeModule;

// @alpha @deprecated (undocumented)
export interface UserIdentifierCustomisations {
    getDisplayUserIdentifier(userId: string, opts: {
        roomId?: string;
        withDisplayName?: boolean;
    }): string | null;
}

// @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)