/**
 * @fileoverview Helper functions for parsing ESummary results from NCBI.
 * Handles different ESummary XML structures and formats the data into
 * consistent ParsedBriefSummary objects.
 * @module src/services/ncbi/parsing/esummary-parser
 */
import type { RequestContext } from '@cyanheads/mcp-ts-core/utils';
import type { ESummaryResult, ParsedBriefSummary, ESummaryAuthor as XmlESummaryAuthor } from '../types.js';
/**
 * Formats an array of ESummary authors into a string.
 * Limits to the first 3 authors and adds 'et al.' if more exist.
 */
export declare function formatESummaryAuthors(authors?: XmlESummaryAuthor[]): string;
/**
 * Parses NCBI ESummary date strings into YYYY-MM-DD (or YYYY-MM-01 / YYYY-01-01
 * for partial dates). Returns undefined for unrecognized formats.
 *
 * NCBI's ESummary API returns a small set of predictable date formats. chrono-node
 * (used by the framework's dateParser) mishandles most of them — its `forwardDate`
 * option causes "2023 Dec" to resolve to a future December, ignoring the year.
 */
export declare function parseNcbiDate(dateStr: string): string | undefined;
/**
 * Standardizes date strings from ESummary to 'YYYY-MM-DD' format.
 * Uses a dedicated NCBI date parser for known formats, falling back to
 * chrono-node via the framework's dateParser for anything unexpected.
 */
export declare function standardizeESummaryDate(dateStr?: string, parentContext?: RequestContext): Promise<string | undefined>;
/**
 * Extracts and formats brief summaries from ESummary XML result.
 * Handles both DocumentSummarySet (newer) and older DocSum structures.
 */
export declare function extractBriefSummaries(eSummaryResult?: ESummaryResult, context?: RequestContext): Promise<ParsedBriefSummary[]>;
//# sourceMappingURL=esummary-parser.d.ts.map