import type { ProviderQuotaFetch } from "../types.js"; export declare const ARXIV_QUERY_URL = "https://export.arxiv.org/api/query"; /** Injectable transport dependencies (fetch, timers, env). */ export interface ArxivTransportDeps { readonly fetch?: ProviderQuotaFetch; readonly setTimeout?: typeof setTimeout; readonly clearTimeout?: typeof clearTimeout; readonly env?: NodeJS.ProcessEnv; } /** `ARXIV_TIMEOUT` override, clamped through the shared seam (#234). */ export declare function resolveTimeoutMs(env: NodeJS.ProcessEnv): number; /** * arXiv-native query params (API field names). The Adapter maps the * Provider-neutral science requests into these before calling * {@link fetchArxivQuery}; the transport never imports a capability * contract. */ export interface ArxivQueryParams { /** Free-text search expression, e.g. `all:attention`. */ readonly search_query?: string; /** Comma-separated arXiv id list for identifier-addressed fetches. */ readonly id_list?: string; /** Zero-based first result offset. */ readonly start?: number; /** Page bound; the diagnostics probe pins 1 (D2 round-3). */ readonly max_results?: number; } /** * Core GET. Sends the query params, maps a non-2xx status, and returns * the response body as text (the Atom XML document — `json()` is never * called). An external `signal` chains into the timeout controller so a * caller abort rejects the in-flight fetch immediately (house * AbortSignal threading rule, D4b). */ export declare function fetchArxivQuery(params: ArxivQueryParams, deps?: ArxivTransportDeps, signal?: AbortSignal): Promise; //# sourceMappingURL=client.d.ts.map