24 lines
1.3 KiB
TypeScript
24 lines
1.3 KiB
TypeScript
import { ISavedSync } from "./index";
|
|
import { IEvent, IStateEventWithRoomId, IStoredClientOpts, ISyncResponse } from "../matrix";
|
|
import { IndexedToDeviceBatch, ToDeviceBatchWithTxnId } from "../models/ToDeviceMessage";
|
|
export interface IIndexedDBBackend {
|
|
connect(onClose?: () => void): Promise<void>;
|
|
syncToDatabase(userTuples: UserTuple[]): Promise<void>;
|
|
isNewlyCreated(): Promise<boolean>;
|
|
setSyncData(syncData: ISyncResponse): Promise<void>;
|
|
getSavedSync(): Promise<ISavedSync | null>;
|
|
getNextBatchToken(): Promise<string>;
|
|
clearDatabase(): Promise<void>;
|
|
getOutOfBandMembers(roomId: string): Promise<IStateEventWithRoomId[] | null>;
|
|
setOutOfBandMembers(roomId: string, membershipEvents: IStateEventWithRoomId[]): Promise<void>;
|
|
clearOutOfBandMembers(roomId: string): Promise<void>;
|
|
getUserPresenceEvents(): Promise<UserTuple[]>;
|
|
getClientOptions(): Promise<IStoredClientOpts | undefined>;
|
|
storeClientOptions(options: IStoredClientOpts): Promise<void>;
|
|
saveToDeviceBatches(batches: ToDeviceBatchWithTxnId[]): Promise<void>;
|
|
getOldestToDeviceBatch(): Promise<IndexedToDeviceBatch | null>;
|
|
removeToDeviceBatch(id: number): Promise<void>;
|
|
destroy(): Promise<void>;
|
|
}
|
|
export type UserTuple = [userId: string, presenceEvent: Partial<IEvent>];
|
|
//# sourceMappingURL=indexeddb-backend.d.ts.map
|