sayance-matrix-native-module
Version:
Native Matrix client module for Expo using Rust SDK
74 lines (73 loc) • 2.49 kB
TypeScript
import { SayanceMatrixClient, MatrixConfig } from './index';
import { AsyncStorageStatic } from './StorageBridge';
export declare class MatrixMigrationHelper {
private nativeClient;
private storageBridge?;
private migrationStatus;
constructor();
initialize(realm?: any, asyncStorage?: AsyncStorageStatic): Promise<void>;
migrateCryptoData(): Promise<{
success: boolean;
migrated: number;
errors: string[];
}>;
migrateEventData(): Promise<{
success: boolean;
migrated: number;
errors: string[];
}>;
initializeNativeClient(config: MatrixConfig): Promise<void>;
verifyMigration(): Promise<{
success: boolean;
details: {
cryptoKeysVerified: number;
eventsVerified: number;
issues: string[];
};
}>;
getMigrationStatus(): {
initialized: boolean;
cryptoMigrated: boolean;
eventsMigrated: boolean;
};
getNativeClient(): SayanceMatrixClient;
runPhase1Migration(config: MatrixConfig, realm?: any, asyncStorage?: AsyncStorageStatic): Promise<{
success: boolean;
steps: {
initialization: boolean;
cryptoMigration: {
success: boolean;
migrated: number;
errors: string[];
};
eventMigration: {
success: boolean;
migrated: number;
errors: string[];
};
nativeClientInit: boolean;
verification: {
success: boolean;
details: any;
};
};
}>;
}
export declare class HybridMatrixClient {
private nativeClient;
private jsClient;
private migrationHelper;
private useNativeForCrypto;
private useNativeForEvents;
constructor(jsClient: any);
initialize(config: MatrixConfig, realm?: any, asyncStorage?: AsyncStorageStatic): Promise<void>;
sendMessage(roomId: string, body: string): Promise<void>;
getRoomEvents(roomId: string, limit?: number): Promise<any[]>;
setupEncryption(): Promise<void>;
verifyDevice(userId: string, deviceId: string): Promise<void>;
getMigrationHelper(): MatrixMigrationHelper;
enableNativeCrypto(): void;
enableNativeEvents(): void;
}
export declare function createMigrationHelper(): MatrixMigrationHelper;
export declare function createHybridClient(jsClient: any): HybridMatrixClient;