/**
 * @fileoverview Discover valid field names from the ClinicalTrials.gov data model.
 * Supports keyword search, path-based drill-down, and top-level overview via an explicit mode field.
 * @module mcp-server/tools/definitions/get-field-definitions.tool
 */
import { z } from '@cyanheads/mcp-ts-core';
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
export declare const getFieldDefinitions: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
    mode: z.ZodEnum<{
        search: "search";
        drill: "drill";
        overview: "overview";
    }>;
    query: z.ZodOptional<z.ZodString>;
    path: z.ZodOptional<z.ZodString>;
    limit: z.ZodDefault<z.ZodNumber>;
    includeIndexedOnly: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    fields: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        piece: z.ZodOptional<z.ZodString>;
        sourceType: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodString>;
        isEnum: z.ZodOptional<z.ZodBoolean>;
        description: z.ZodOptional<z.ZodString>;
        path: z.ZodOptional<z.ZodString>;
        children: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    }, z.core.$strip>>;
    totalFields: z.ZodNumber;
    resolvedPath: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, readonly [{
    readonly reason: "path_not_found";
    readonly code: JsonRpcErrorCode.NotFound;
    readonly when: "The dot-notation path does not match any node in the field tree.";
    readonly recovery: "Call clinicaltrials_get_field_definitions with `query` (e.g., \"phase\", \"enrollment\") to find the field path by concept, or omit both arguments for a top-level overview.";
}, {
    readonly reason: "rate_limited";
    readonly code: JsonRpcErrorCode.RateLimited;
    readonly when: "ClinicalTrials.gov returned 429 after retry budget exhausted.";
    readonly recovery: "ClinicalTrials.gov rate-limited the request after several retries; wait about a minute before trying again.";
    readonly retryable: true;
}], {
    readonly searchQuery: z.ZodOptional<z.ZodString>;
    readonly truncated: z.ZodOptional<z.ZodBoolean>;
    readonly shown: z.ZodOptional<z.ZodNumber>;
    readonly cap: z.ZodOptional<z.ZodNumber>;
    readonly notice: z.ZodOptional<z.ZodString>;
}>;
//# sourceMappingURL=get-field-definitions.tool.d.ts.map