/** * Utilities to encode client headers as WebSocket subprotocols (for proxy scenarios). * Format: [headerName1, encodeURIComponent(value1), headerName2, encodeURIComponent(value2), ...] */ import * as core from "../../core/index.js"; export type HeadersRecord = Record | null | undefined>; /** * Resolves header values (including suppliers/functions) and returns a flat array * of [name, encodeURIComponent(value)] for each header, skipping undefined/empty values. * When filterSdkHeaders is true, SDK-added headers are excluded. */ export declare function buildProtocolsFromHeaders(headers: HeadersRecord | undefined, filterSdkHeaders?: boolean): Promise; /** Options shape for getWsProtocols (encodeHeadersAsWsProtocols + headers). */ export type WsProtocolsOptions = { encodeHeadersAsWsProtocols?: boolean; headers?: HeadersRecord; }; /** Proxy protocols as array (pass-through) or object (encoded like headers). */ export type ProxyProtocolsInput = string[] | HeadersRecord; export type ProxyOptions = { url: string; /** string[] passed as-is; Record → encoded as [name, encodeURIComponent(value), ...] pairs. */ protocols?: ProxyProtocolsInput; queryParameters?: Record; }; /** * Returns WebSocket protocols array for connect (header-derived + proxy protocols). * proxyProtocols: array is passed as-is; object is encoded like headers. */ export declare function getWsProtocols(options: WsProtocolsOptions, proxyProtocols?: ProxyProtocolsInput): Promise;