import * as plugins from '../plugins.js'; /** * Configuration for HTTP/3 (QUIC) route augmentation. * HTTP/3 is enabled by default on all qualifying HTTPS routes. */ export interface IHttp3Config { /** Enable HTTP/3 augmentation on qualifying routes (default: true) */ enabled?: boolean; /** QUIC-specific settings applied to all augmented routes */ quicSettings?: { /** QUIC connection idle timeout in ms (default: 30000) */ maxIdleTimeout?: number; /** Max concurrent bidirectional streams per connection (default: 100) */ maxConcurrentBidiStreams?: number; /** Max concurrent unidirectional streams per connection (default: 100) */ maxConcurrentUniStreams?: number; /** Initial congestion window size in bytes */ initialCongestionWindow?: number; }; /** Alt-Svc header settings */ altSvc?: { /** Port advertised in Alt-Svc header (default: same as listening port) */ port?: number; /** Max age for Alt-Svc advertisement in seconds (default: 86400) */ maxAge?: number; }; /** UDP session settings */ udpSettings?: { /** Idle timeout for UDP sessions in ms (default: 60000) */ sessionTimeout?: number; /** Max concurrent UDP sessions per source IP (default: 1000) */ maxSessionsPerIP?: number; /** Max accepted datagram size in bytes (default: 65535) */ maxDatagramSize?: number; }; } export declare function routeNeedsHttpProtocol(route: plugins.smartproxy.IRouteConfig): boolean; /** * Determine if a route qualifies for HTTP/3 augmentation. */ export declare function routeQualifiesForHttp3(route: plugins.smartproxy.IRouteConfig, globalConfig: IHttp3Config): boolean; /** * Augment a single route with HTTP/3 fields. * Returns a new route object (does not mutate the original). */ export declare function augmentRouteWithHttp3(route: plugins.smartproxy.IRouteConfig, config: IHttp3Config): plugins.smartproxy.IRouteConfig; /** * Augment all qualifying routes in an array. * Returns a new array (does not mutate originals). */ export declare function augmentRoutesWithHttp3(routes: plugins.smartproxy.IRouteConfig[], config: IHttp3Config): plugins.smartproxy.IRouteConfig[];