import { Socket } from 'socket.io-client'; interface SocketEncryptionConfig { enabled: boolean; signingPublicKeyPem: string; } interface PatchedSocket extends Socket { __aaOriginalEmit?: Socket['emit']; __aaOriginalOn?: Socket['on']; __aaOriginalOnevent?: (packet: { data?: unknown[]; }) => void; __aaEncryptionAttached?: boolean; } declare class SocketEncryptionService { private config; private secure; private keys; private c2sSeq; private s2cSeq; private signingPublicKey; private handshakePromise; private inboundChain; private pendingOutboundEmits; private outboundFlushPromise; private channelGeneration; configure(config: Partial): void; isEnabled(): boolean; isSecure(): boolean; attachSocket(socket: PatchedSocket): void; private patchInboundTransport; private shouldDecryptInbound; private consumeInboundEnvelope; private queueOutboundEmit; private flushPendingOutbound; private drainPendingOutbound; private failSecureChannel; performHandshake(socket: PatchedSocket): Promise; private runHandshake; private emitThrough; private waitForHandshakeEvent; private assertHandshakeActive; private getSigningPublicKey; private resetState; } export default SocketEncryptionService;