import { SignalProtocolAddressType, StorageType, KeyPairType } from './types'; import { DeviceType, SessionType } from './session-types'; import { SessionRecord } from './session-record'; import { PreKeyWhisperMessage } from '@privacyresearch/libsignal-protocol-protobuf-ts'; export declare class SessionBuilder { remoteAddress: SignalProtocolAddressType; storage: StorageType; constructor(storage: StorageType, remoteAddress: SignalProtocolAddressType); processPreKeyJob: (device: DeviceType) => Promise; startSessionAsInitiator: (EKa: KeyPairType, IKb: ArrayBuffer, SPKb: ArrayBuffer, OPKb: ArrayBuffer | undefined, registrationId?: number) => Promise; startSessionWthPreKeyMessage: (OPKb: KeyPairType | undefined, SPKb: KeyPairType, message: PreKeyWhisperMessage) => Promise; calculateSendingRatchet(session: SessionType, remoteKey: ArrayBuffer): Promise; processPreKey(device: DeviceType): Promise; processV3(record: SessionRecord, message: PreKeyWhisperMessage): Promise; }