/**
 * In-memory Rate Limiter for MCP Tool Calls
 *
 * Uses a sliding window counter to enforce per-category rate limits.
 * Prevents DoS from malfunctioning or malicious clients flooding
 * the server with concurrent requests.
 *
 * Categories:
 *   - search:      50 calls/window  (queries)
 *   - ingestion:   10 calls/window  (heavy GPU work)
 *   - destructive:  5 calls/window  (deletes)
 *   - default:    100 calls/window  (everything else)
 *
 * Configurable via environment variables:
 *   - OCR_RATE_LIMIT_ENABLED   (default: "true")
 *   - OCR_RATE_LIMIT_WINDOW_MS (default: 60000)
 *
 * CRITICAL: NEVER use console.log() — stdout is JSON-RPC protocol.
 *
 * @module services/rate-limiter
 */
/**
 * Resolve the rate-limit category for a given tool name.
 */
export declare function getToolCategory(toolName: string): string;
/**
 * Check rate limit for a given category.
 * Throws an Error immediately if the limit is exceeded (fail-fast).
 *
 * @param category - The rate limit category to check
 * @throws Error when the rate limit for the category is exceeded
 */
export declare function checkRateLimit(category: string): void;
//# sourceMappingURL=rate-limiter.d.ts.map