export interface SprintIdParts { /** Whole-sprint base, e.g. 458. */ base: number; /** Inserted-sprint suffix as an integer (10 for ".10"), or null for a whole sprint. */ insert: number | null; /** Exact fractional digits as authored ("10", "5"), or null. Preserves 458.10 vs 458.1. */ insertDigits: string | null; /** Canonical string key: "458", "458.10", "143.5". */ key: string; } /** * Canonical string key for a sprint id, or null when the value is not a valid id. * * A string is preserved exactly (after stripping a leading `S` and whitespace), * so trailing zeros survive. A number is rendered literally. */ export declare function sprintIdKey(value: string | number): string | null; /** Parse an authored sprint id (string or number) into canonical parts, or null. */ export declare function parseSprintId(value: string | number): SprintIdParts | null; /** * Order two canonical keys. A whole sprint sorts before its inserts; inserts sort * by their integer value, so .9 precedes .10 (not the reverse a string sort would * give). Distinct keys with the same numeric value (.5 vs .05) break the tie by * their digit string so ordering stays total. */ export declare function compareSprintIdKeys(a: string, b: string): number; /** True when two authored ids denote the same sprint (exact canonical match). */ export declare function sprintIdsEqual(a: string | number, b: string | number): boolean; //# sourceMappingURL=sprint-id.d.ts.map