/**
 * @fileoverview PubMed related articles tool — finds articles related to a
 * source article via NCBI ELink and enriches results with ESummary data.
 * @module src/mcp-server/tools/definitions/find-related.tool
 */
import { z } from '@cyanheads/mcp-ts-core';
export declare const findRelatedTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
    pmid: z.ZodString;
    relationship: z.ZodDefault<z.ZodEnum<{
        references: "references";
        similar: "similar";
        cited_by: "cited_by";
    }>>;
    maxResults: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>, z.ZodObject<{
    sourcePmid: z.ZodString;
    relationship: z.ZodEnum<{
        references: "references";
        similar: "similar";
        cited_by: "cited_by";
    }>;
    articles: z.ZodArray<z.ZodObject<{
        pmid: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        authors: z.ZodOptional<z.ZodString>;
        source: z.ZodOptional<z.ZodString>;
        pubDate: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    totalFound: z.ZodNumber;
    notice: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, readonly [{
    readonly reason: "queue_full";
    readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
    readonly when: "Local NCBI request queue is at capacity.";
    readonly recovery: "Retry after 1-2 seconds; the request queue hit the NCBI rate limit.";
    readonly retryable: true;
}, {
    readonly reason: "ncbi_unreachable";
    readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
    readonly when: "NCBI E-utilities is unreachable after all retry attempts.";
    readonly recovery: "Retry after a brief delay; NCBI was unreachable across all retry attempts.";
    readonly retryable: true;
}, {
    readonly reason: "ncbi_deadline_exceeded";
    readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout;
    readonly when: "Total request deadline expired before NCBI returned a response.";
    readonly recovery: "Reduce batch size or retry; NCBI may be under temporary load.";
    readonly retryable: true;
}, {
    readonly reason: "ncbi_invalid_response";
    readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.SerializationError;
    readonly when: "NCBI returned a body that could not be parsed (invalid XML/JSON).";
    readonly recovery: "Retry the request; NCBI returned a malformed response that could not be parsed.";
    readonly retryable: true;
}, {
    readonly reason: "ncbi_resource_not_found";
    readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
    readonly when: "NCBI returned a structured \"not found\" error for the requested ID(s).";
    readonly recovery: "Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.";
    readonly retryable: false;
}]>;
//# sourceMappingURL=find-related.tool.d.ts.map