/** * DOI normalizer module * * Normalizes DOI identifiers by: * - Removing URL prefixes (doi.org, dx.doi.org) * - Trimming whitespace */ /** * Normalize a DOI identifier * * @param doi - DOI string, possibly with URL prefix * @returns Normalized DOI (10.xxx/xxx format) */ export declare function normalizeDoi(doi: string): string; /** * Normalizes a PMID by removing the optional "PMID:" prefix and trimming whitespace. * * Supported formats: * - "12345678" -> "12345678" * - "PMID:12345678" -> "12345678" * - "pmid:12345678" -> "12345678" * - "PMID: 12345678" -> "12345678" (space after colon) * * @param pmid - The PMID string to normalize * @returns The normalized PMID (digits only) or empty string if invalid */ export declare function normalizePmid(pmid: string): string; /** * Parses an ISBN input by removing the "ISBN:" prefix, hyphens, spaces, and uppercasing X. * * Supported formats: * - "ISBN:978-4-00-000000-0" -> "9784000000000" * - "isbn:4-00-000000-0" -> "4000000000" * - "ISBN: 978 4 00 000000 0" -> "9784000000000" * - "ISBN:400000000x" -> "400000000X" (uppercase X) * * @param isbn - The ISBN input string to parse * @returns The normalized ISBN (digits only, X uppercase at end for ISBN-10) or empty string if invalid */ export declare function parseIsbnInput(isbn: string): string; /** * Normalizes an arXiv identifier by removing URL prefixes and arXiv: prefix. * * Supported formats: * - "2301.13867" -> "2301.13867" * - "2301.13867v2" -> "2301.13867v2" * - "arXiv:2301.13867" -> "2301.13867" * - "arxiv:2301.13867v2" -> "2301.13867v2" * - "https://arxiv.org/abs/2301.13867" -> "2301.13867" * - "https://arxiv.org/pdf/2301.13867" -> "2301.13867" * - "https://arxiv.org/html/2301.13867v2" -> "2301.13867v2" * * @param arxiv - The arXiv string to normalize * @returns The normalized arXiv ID or empty string if invalid input */ export declare function normalizeArxiv(arxiv: string): string; //# sourceMappingURL=normalizer.d.ts.map