UNPKG

matrix-react-sdk

Version:
41 lines (40 loc) 1.82 kB
import { MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; import { ExportType, IExportOptions } from "./exportUtils"; type BlobFile = { name: string; blob: Blob; }; export default abstract class Exporter { protected room: Room; protected exportType: ExportType; protected exportOptions: IExportOptions; protected setProgressText: React.Dispatch<React.SetStateAction<string>>; protected files: BlobFile[]; protected cancelled: boolean; protected constructor(room: Room, exportType: ExportType, exportOptions: IExportOptions, setProgressText: React.Dispatch<React.SetStateAction<string>>); get destinationFileName(): string; protected onBeforeUnload(e: BeforeUnloadEvent): string; protected updateProgress(progress: string, log?: boolean, show?: boolean): void; protected addFile(filePath: string, blob: Blob): void; protected makeFileNameNoExtension(brand?: string): string; protected downloadZIP(): Promise<string | void>; protected cleanUp(): string; cancelExport(): Promise<void>; protected downloadPlainText(fileName: string, text: string): void; protected setEventMetadata(event: MatrixEvent): MatrixEvent; getLimit(): number; protected getRequiredEvents(): Promise<MatrixEvent[]>; /** * Decrypts if necessary, and fetches media from a matrix event * @param event - matrix event with media event content * @resolves when media has been fetched * @throws if media was unable to be fetched */ protected getMediaBlob(event: MatrixEvent): Promise<Blob>; splitFileName(file: string): string[]; getFilePath(event: MatrixEvent): string; protected isReply(event: MatrixEvent): boolean; protected isAttachment(mxEv: MatrixEvent): boolean; abstract export(): Promise<void>; } export {};