/** * RFC 1982 serial-number arithmetic for the 32-bit MMTP AL-FEC symbol * counters (ISO/IEC 23008-1:2023 C.5.2 SS_ID, C.5.3 SS_Start). * * SS_ID is a 32-bit field, so a stream that runs long enough wraps it to 0. * Ordering two SS_IDs (or two blocks by their first SS_ID) with `<` reads * every post-wrap value as older than every pre-wrap one. Serial order * agrees with `<` whenever the two values are less than 2^31 apart, so for * every stream that has not reached the wrap the result is unchanged; only * the order across the wrap point differs (BLO-35597 iso:5). */ /** 2^SERIAL_BITS for SERIAL_BITS = 32. */ export declare const SERIAL32_SPAN = 4294967296; /** RFC 1982 §3.2's 2^(SERIAL_BITS - 1). */ export declare const SERIAL32_HALF = 2147483648; /** * RFC 1982 §3.1 addition, extended to negative `n` for the matching * subtraction: `(s + n) mod 2^32`. `n` must lie in (-2^31, 2^31). */ export declare function serial32Add(s: number, n: number): number; /** Forward distance from `from` to `to`: `(to - from) mod 2^32`. */ export declare function serial32Distance(from: number, to: number): number; /** * RFC 1982 §3.2: `a` precedes `b`. Values exactly 2^31 apart are unordered * (neither precedes the other). */ export declare function serial32Precedes(a: number, b: number): boolean; //# sourceMappingURL=serial-number.d.ts.map