UNPKG

specpress

Version:

Export PDF and/or DOCX files from a subset of Markdown, ASN.1 and JSON files

99 lines (98 loc) 4.42 kB
/** Thrown when a BWC-ID string cannot be parsed or is invalid. */ export declare class InvalidBwcIdException extends Error { constructor(message: string); } /** * Describes the properties of a single BWC letter (e.g. 'A', 'C', 'D'). * * Each BWC letter maps to a number of contiguous carriers and an aggregated * bandwidth range, as defined in 3GPP TS 38.101. */ export declare class BWCValue { /** Number of contiguous component carriers. */ readonly nrofCarriers: number; /** Minimum aggregated bandwidth in MHz (exclusive lower bound). */ readonly minBW: number; /** Maximum aggregated bandwidth in MHz (inclusive upper bound). */ readonly maxBW: number; /** Fallback group indices for this BWC letter. */ readonly fallbackGroup: number[]; constructor(aNrofCarriers: number, aMinBW: number, aMaxBw: number, aFallbackGroupList?: number[]); } /** BWC letter definitions for FR1, as per TS 38.101-1. */ export declare const bwcValuesFR1: Record<string, BWCValue>; /** BWC letter definitions for FR2, as per TS 38.101-2. */ export declare const bwcValuesFR2: Record<string, BWCValue>; /** * Checks whether a BWC letter is valid for the given frequency range. * * @param aBwc — the BWC letter to check (e.g. `"A"`, `"C"`, `"R3"`). * @param aFrequencyRange — 0 = either FR, 1 = FR1 only, 2 = FR2 only. * @returns true if the letter is defined in the corresponding BWC table. */ export declare function IsValidBwcCharacter(aBwc: string, aFrequencyRange?: number): boolean; /** * Compares two BWC value strings with natural ordering: * alphabetical by letter prefix, then numeric by trailing digits. * e.g. "R" < "R2" < "R9" < "R10" < "R12" < "S" */ export declare function compareBwcValues(a: string, b: string): number; /** * Represents a Bandwidth Combination Identifier for a single band within a BC-ID. * * A BWC-ID is either a single letter (e.g. `"A"`, `"C"`) for a simple carrier * configuration, or a parenthesized multi-component expression (e.g. `"(2A-C)"`) * describing contiguous carrier groups with optional multipliers. * * Examples: * - `"A"` — single non-contiguous carrier * - `"C"` — two contiguous carriers (FR1: 100–200 MHz aggregate) * - `"(2A)"` — two non-contiguous single carriers * - `"(2A-C)"` — two non-contiguous single carriers plus one contiguous pair */ export declare class BWC_ID { private readonly str; /** Whether this BWC-ID was successfully parsed. */ readonly isValid: boolean; /** The individual contiguous carrier group letters after expansion. */ readonly contGroups: string[]; /** * Parses a BWC-ID string. * * @param aString — the BWC-ID string to parse (e.g. `"A"`, `"(2A-C)"`). * @throws InvalidBwcIdException if the string cannot be parsed. */ constructor(aString: string); /** Returns the expanded list of contiguous carrier group letters. */ getContGroups(): string[]; /** Returns the number of non-contiguous carrier groups (i.e. the length of contGroups). */ getNrofNonContiguousCarriers(): number; /** * Returns the total number of component carriers across all contiguous groups. * * Sums the nrofCarriers from the BWCValue for each contiguous group letter. * E.g., "(2A-C)" with FR1 returns 4 (1+1+2), "C" with FR1 returns 2. * * @param aFrequencyRange — 0 = try both FR1 and FR2, 1 = FR1 only, 2 = FR2 only * @returns total number of physical carriers */ getNrofCarriers(aFrequencyRange?: number): number; private contStr; /** Returns the original BWC-ID string. */ valueOf(): string; /** Returns the original BWC-ID string. */ toString(): string; /** Returns true if this BWC-ID has the same string representation as `other`. */ equals(other: BWC_ID | string): boolean; /** * Ordering comparison: fewer non-contiguous carriers first, * then alphabetical by sorted contiguous group letters. */ lessThan(value: BWC_ID | string): boolean; /** Returns true if this BWC-ID is strictly greater than `value`. */ greaterThan(value: BWC_ID | string): boolean; /** Returns true if this BWC-ID is less than or equal to `value`. */ lessOrEqual(value: BWC_ID | string): boolean; /** Returns true if this BWC-ID is greater than or equal to `value`. */ greaterOrEqual(value: BWC_ID | string): boolean; }