import { Bandwidth, Int32Range } from './common'; /** * FinalMask configuration for advanced QUIC/UDP masking. */ export interface FinalMaskConfig { /** TCP mask rules. */ tcp?: MaskRule[]; /** UDP mask rules. */ udp?: MaskRule[]; /** QUIC parameters. */ quicParams?: QuicParamsConfig; } export interface MaskRule { /** Mask type (e.g. "fragment", "noise", "custom"). */ type?: string; /** Mask-specific settings. */ settings?: FragmentMaskSettings | NoiseMaskSettings | Record; } export interface FragmentMaskSettings { /** Which packets to fragment (e.g. "tlshello", "1-3"). */ packets?: string; /** Fragment length range. */ length?: Int32Range; /** Delay range between fragments in ms. */ delay?: Int32Range; /** Maximum number of splits. */ maxSplit?: Int32Range; } export interface NoiseMaskSettings { /** Reset interval range. */ reset?: Int32Range; /** Noise items. */ noise?: NoiseItem[]; } export interface NoiseItem { /** Random padding size range. */ rand?: Int32Range; /** Noise packet type (e.g. "rand", "str", "base64"). */ type?: string; /** Noise packet content. */ packet?: string; /** Delay range in ms before sending. */ delay?: Int32Range; } export interface QuicParamsConfig { /** Congestion control algorithm (e.g. "bbr", "brutal", "cubic"). */ congestion?: string; /** Enable QUIC debug logging. */ debug?: boolean; /** Brutal congestion control upload bandwidth. */ brutalUp?: Bandwidth; /** Brutal congestion control download bandwidth. */ brutalDown?: Bandwidth; /** UDP port hopping configuration. */ udpHop?: UdpHopConfig; /** Initial per-stream receive window size. */ initStreamReceiveWindow?: number; /** Maximum per-stream receive window size. */ maxStreamReceiveWindow?: number; /** Initial per-connection receive window size. */ initConnectionReceiveWindow?: number; /** Maximum per-connection receive window size. */ maxConnectionReceiveWindow?: number; /** Maximum idle timeout in seconds. */ maxIdleTimeout?: number; /** Keep-alive period in seconds. */ keepAlivePeriod?: number; /** Disable Path MTU Discovery. */ disablePathMTUDiscovery?: boolean; /** Maximum number of incoming streams. */ maxIncomingStreams?: number; } export interface UdpHopConfig { /** Port list or range (e.g. "20000-40000"). */ ports?: string; /** Hop interval range in ms. */ interval?: Int32Range; } //# sourceMappingURL=finalmask.d.ts.map