import { KeyPairType } from './types'; import { SessionType, PendingPreKey, Chain, OldRatchetInfo, Ratchet, IndexInfo, RecordType } from './session-types'; export declare class SessionRecord implements RecordType { private static migrations; private static migrate; registrationId?: number; sessions: { [k: string]: SessionType; }; version: string; constructor(registrationId?: number); static deserialize(serialized: string): SessionRecord; serialize(): string; haveOpenSession(): boolean; getSessionByBaseKey(baseKey: ArrayBuffer): SessionType | undefined; getSessionByRemoteEphemeralKey(remoteEphemeralKey: ArrayBuffer): SessionType | undefined; getOpenSession(): SessionType | undefined; private detectDuplicateOpenSessions; updateSessionState(session: SessionType): void; getSessions(): SessionType[]; archiveCurrentState(): void; promoteState(session: SessionType): void; removeOldChains(session: SessionType): void; removeOldSessions(): void; deleteAllSessions(): void; } export declare function keyPairStirngToArrayBuffer(kp: KeyPairType): KeyPairType; export declare function keyPairArrayBufferToString(kp: KeyPairType): KeyPairType; export declare function pendingPreKeyStringToArrayBuffer(ppk: PendingPreKey): PendingPreKey; export declare function pendingPreKeyArrayBufferToString(ppk: PendingPreKey): PendingPreKey; export declare function chainStringToArrayBuffer(c: Chain): Chain; export declare function chainArrayBufferToString(c: Chain): Chain; export declare function oldRatchetInfoStringToArrayBuffer(ori: OldRatchetInfo): OldRatchetInfo; export declare function oldRatchetInfoArrayBufferToString(ori: OldRatchetInfo): OldRatchetInfo; export declare function ratchetStringToArrayBuffer(r: Ratchet): Ratchet; export declare function ratchetArrayBufferToString(r: Ratchet): Ratchet; export declare function indexInfoStringToArrayBuffer(ii: IndexInfo): IndexInfo; export declare function indexInfoArrayBufferToString(ii: IndexInfo): IndexInfo; export declare function sessionTypeStringToArrayBuffer(sess: SessionType): SessionType; export declare function sessionTypeArrayBufferToString(sess: SessionType): SessionType;