UNPKG

sayance-matrix-native-module

Version:
49 lines (48 loc) 2.66 kB
import { EventSubscription } from 'expo-modules-core'; import type { MatrixConfig, MessageData, RoomInfo, EncryptedMessageData, DeviceInfo, EncryptedEvent, DecryptedEvent, SessionData, TimelineEvent, MatrixEvent } from './index'; export interface MatrixModuleInterface { initializeClient(config: MatrixConfig): Promise<void>; startSync(): Promise<void>; stopSync(): Promise<void>; sendMessage(messageData: MessageData): Promise<void>; getJoinedRooms(): Promise<RoomInfo[]>; setSyncCallback(): string; setNextBatchToken(nextBatch: string | null): Promise<void>; getNextBatchToken(): Promise<string | null>; setupEncryption(): Promise<void>; isEncryptionEnabled(): Promise<boolean>; verifyDevice(userId: string, deviceId: string): Promise<void>; getUserDevices(userId: string): Promise<DeviceInfo[]>; sendEncryptedMessage(messageData: EncryptedMessageData): Promise<void>; decryptEvent(event: EncryptedEvent): Promise<DecryptedEvent>; shareRoomKey(roomId: string, userIds: string[]): Promise<void>; backupKeys(): Promise<void>; restoreKeysFromBackup(recoveryKey: string): Promise<void>; storeCryptoData(key: string, value: string): Promise<void>; getCryptoData(key: string): Promise<string | null>; deleteCryptoData(key: string): Promise<void>; storeSessionData(session: SessionData): Promise<void>; getSessionData(sessionId: string): Promise<SessionData | null>; getRoomEvents(roomId: string, limit: number): Promise<TimelineEvent[]>; handleSyncResponse(syncResponseJson: string): Promise<void>; registerSyncUpdateCallback(callback: { onSyncUpdate: (state: any) => void; }): Promise<void>; registerTimelineEventCallback(roomId: string, callback: { onTimelineEvent: (roomId: string, event: TimelineEvent) => void; }): Promise<void>; registerRoomInviteCallback(callback: { onRoomInvite: (roomId: string, inviter: string, roomName?: string) => void; }): Promise<void>; registerMembershipChangeCallback(callback: { onMembershipChange: (roomId: string, userId: string, membership: string, inviter?: string) => void; }): Promise<void>; unregisterSyncUpdateCallback(): Promise<void>; unregisterTimelineEventCallback(roomId: string): Promise<void>; unregisterRoomInviteCallback(): Promise<void>; unregisterMembershipChangeCallback(): Promise<void>; addListener(event: string, listener: (event: MatrixEvent) => void): EventSubscription; removeListener(event: string, listener: (event: MatrixEvent) => void): void; } declare const _default: MatrixModuleInterface; export default _default;