import { ExtendedInboundGroupSessionData, GroupSessionRecord, HybridGroupSessionRecord } from './storeTypes'; import { InboundGroupSessionData } from './encryptionDevice'; import { UserDevice } from './olmLib'; export declare const DEFAULT_USER_DEVICE_EXPIRATION_TIME_MS: number; export declare function createCryptoStore(databaseName: string, userId: string, maxEntries?: number): CryptoStore; export interface CryptoStore { userId: string; initialize(): Promise; deleteAllData(): Promise; deleteInboundGroupSessions(streamId: string, sessionId: string): Promise; deleteOutboundGrounpSessions(streamId: string): Promise; deleteAccount(userId: string): Promise; getAccount(): Promise; storeAccount(accountPickle: string): Promise; storeEndToEndOutboundGroupSession(sessionId: string, sessionData: string, streamId: string): Promise; getEndToEndOutboundGroupSession(streamId: string): Promise; getAllEndToEndOutboundGroupSessions(): Promise; getEndToEndInboundGroupSession(streamId: string, sessionId: string): Promise; getHybridGroupSession(streamId: string, sessionId: string): Promise; getHybridGroupSessionsForStream(streamId: string): Promise; getAllEndToEndInboundGroupSessions(): Promise; getAllHybridGroupSessions(): Promise; deleteHybridGroupSessions(streamId: string): Promise; storeEndToEndInboundGroupSession(streamId: string, sessionId: string, sessionData: InboundGroupSessionData): Promise; storeHybridGroupSession(sessionData: HybridGroupSessionRecord): Promise; getInboundGroupSessionIds(streamId: string): Promise; getHybridGroupSessionIds(streamId: string): Promise; withAccountTx(fn: () => Promise): Promise; withGroupSessions(fn: () => Promise): Promise; deviceRecordCount(): Promise; saveUserDevices(userId: string, devices: UserDevice[], expirationMs?: number): Promise; getUserDevices(userId: string): Promise; } //# sourceMappingURL=cryptoStore.d.ts.map