import type { ProviderQuotaFetch } from "../types.js"; export declare const EUTILS_BASE_URL = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/"; /** Injectable transport dependencies (fetch, timers). */ export interface PubmedTransportDeps { readonly fetch?: ProviderQuotaFetch; readonly setTimeout?: typeof setTimeout; readonly clearTimeout?: typeof clearTimeout; } /** Credential resolved per invocation from the injected env. */ export interface PubmedCredentials { /** `NCBI_API_KEY` when present; keyless (3 r/s) otherwise. */ readonly apiKey?: string; } export declare function resolvePubmedCredentials(env: NodeJS.ProcessEnv): PubmedCredentials; /** `PUBMED_TIMEOUT` override, clamped through the shared seam (#234). */ export declare function resolveTimeoutMs(env: NodeJS.ProcessEnv): number; /** * esearch step: the id-list lookup. Returns the parsed JSON envelope * (`esearchresult.idlist`); the Adapter extracts the ids. */ export declare function fetchPubmedEsearch(params: Record, deps?: PubmedTransportDeps & { readonly env?: NodeJS.ProcessEnv; }, signal?: AbortSignal): Promise; /** * efetch step: the record fetch (PubmedArticleSet XML). Returns the raw * XML string; the Adapter's hand parser owns field extraction. */ export declare function fetchPubmedEfetch(params: Record, deps?: PubmedTransportDeps & { readonly env?: NodeJS.ProcessEnv; }, signal?: AbortSignal): Promise; //# sourceMappingURL=client.d.ts.map