import type { WssResult } from '../types.js'; /** * Tests whether a WebSocket upgrade handshake can reach the target host. * * Interpretation of results: * * - 'open' event → Full WSS connection established. Pass. * - 'unexpected-response' → Server replied with an HTTP status code (e.g. 502) * instead of upgrading to WebSocket. This still proves the network path is * open: DNS resolved, TCP connected, TLS negotiated, and an HTTP response * came back. Postman's bifrost servers reject anonymous upgrade requests * this way — it does NOT indicate a firewall block. Treated as pass. * Caveat: a TLS-intercepting proxy could also return an HTTP error here. * The response proves *something* on the network path responded, but not * necessarily the origin server. * - Timeout → No response to the upgrade request. Ambiguous: could * be a firewall dropping packets, a proxy silently blocking upgrades, or * (less likely if HTTPS passed for the same host) a server ignoring the * request. Treated as fail. * - ECONNRESET → Connection was forcibly closed, often by a firewall * or proxy sending a TCP RST. Treated as fail. * - Other errors → TLS failure, DNS (shouldn't reach here due to * pipeline ordering), etc. Treated as fail. */ export declare function checkWss(hostname: string, timeoutMs: number): Promise;