/** * Importer orchestration module * * Coordinates format detection, parsing, and fetching to import references * from various input formats. */ import type { UrlArchiveFormat, UrlConfig } from "../../config/schema.js"; import type { CslItem } from "../../core/csl-json/types.js"; import type { InputFormat } from "./detector.js"; import type { FailureReason, PubmedConfig } from "./fetcher.js"; import type { ArchiveResult } from "./url-archive.js"; export type { FailureReason } from "./fetcher.js"; /** * URL-specific data returned alongside the CslItem for URL imports. */ export interface UrlImportData { fulltext: string; archive?: ArchiveResult | undefined; warnings: string[]; } /** * Result of importing a single item */ export type ImportItemResult = { success: true; item: CslItem; source: string; urlData?: UrlImportData | undefined; } | { success: false; error: string; source: string; reason: FailureReason; }; /** * Result of an import operation */ export interface ImportResult { results: ImportItemResult[]; } /** * Options for import operations */ export interface ImportOptions { pubmedConfig?: PubmedConfig; } /** * Import references from content string * * @param content - The content to parse * @param format - The format of the content (or "auto" for detection) * @param options - Import options * @returns Import result with parsed items */ export declare function importFromContent(content: string, format: InputFormat | "auto", _options: ImportOptions): Promise; /** * Import references from identifier strings (PMID or DOI) * * @param identifiers - Array of identifier strings * @param options - Import options (requires pubmedConfig for PMID fetching) * @returns Import result with fetched items */ export declare function importFromIdentifiers(identifiers: string[], options: ImportOptions): Promise; /** * Options for importFromInputs */ export interface ImportInputsOptions extends ImportOptions { /** Explicit format specification (default: auto) */ format?: InputFormat | "auto"; /** Content from stdin (if provided, processed before file/identifier inputs) */ stdinContent?: string; /** URL import configuration (required for URL inputs) */ urlConfig?: UrlConfig | undefined; /** Archive format override for URL imports */ archiveFormat?: UrlArchiveFormat | undefined; /** Skip archive creation for URL imports */ noArchive?: boolean | undefined; } export declare function importFromInputs(inputs: string[], options: ImportInputsOptions): Promise; //# sourceMappingURL=importer.d.ts.map