export default SecureChannel; export namespace STATE { const INIT: string; const AWAITING_RESPONSE: string; const AWAITING_ACK: string; const SECURE: string; const FAILED: string; } export namespace MSG { const INIT_1: string; export { INIT_1 as INIT }; export const RESPONSE: string; export const COMPLETE: string; export const ACK: string; export const ENVELOPE: string; export const REKEY_SIGNAL: string; export const REKEY_ACK: string; export const CAPABILITIES: string; } declare class SecureChannel { constructor({ pinnedPublicKeyPem, sessionId, expectedSigningKeyId }?: { pinnedPublicKeyPem: any; sessionId: any; expectedSigningKeyId: any; }); pinnedPublicKeyPem: string; expectedSigningKeyId: any; sessionId: any; state: string; privateKey: CryptoKey | null; publicKeyRaw: Uint8Array | null; c2sNonce: Uint8Array | null; s2cNonce: Uint8Array | null; sharedSecret: Uint8Array | null; salt: Uint8Array | null; generation: number; k_c2s: CryptoKey | null; k_s2c: CryptoKey | null; c2sSeq: bigint; s2cSeq: bigint; outboundLock: Promise; inboundLock: Promise; initiateHandshake(): Promise<{ type: string; version: string; clientPublicKey: string; c2sNonce: string; sessionId: any; }>; handleResponse(msg: any): Promise<{ type: string; iv: string; ciphertext: string; tag: string; }>; handleAck(msg: any): Promise; encryptOutgoing(plainObj: any): Promise<{ type: string; gen: number; iv: string; ciphertext: string; tag: string; }>; decryptIncoming(envelope: any): Promise; handleRekeySignal(controlMsg: any): Promise<{ type: string; gen: number; iv: string; ciphertext: string; tag: string; }>; isSecure(): boolean; isFailed(): boolean; installGeneration(gen: any): Promise; }