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[];
