/**
 * Tier-gate middleware for QuantRisk MCP.
 *
 * Checks:
 *   1. Is the tool available on the user's tier?
 *   2. Does the input exceed the tier's numeric limits (positions, paths, tickers, days)?
 *
 * Throws TierError (tool access) or TierLimitError (numeric limit) on violation.
 * Returns void on success — the caller proceeds to the tool handler.
 *
 * Import TIER_CONFIG from src/config/tiers.ts (written by Agent A).
 * If that file is not yet present, the fallback inline config below is used.
 */
import type { UserTier } from "../services/stripe.js";
type AnyToolInput = Record<string, unknown>;
/**
 * Check whether the given tool + input combination is permitted for `userTier`.
 *
 * @param toolName  MCP tool name (e.g. "analyze_risk", "optimize_portfolio")
 * @param input     Raw parsed tool input object
 * @param userTier  The user's subscription tier
 * @throws TierError if the tool is paid-only and user is on free tier
 * @throws TierLimitError if a numeric input exceeds the tier limit
 */
export declare function checkTierAccess(toolName: string, input: AnyToolInput, userTier: UserTier): void;
export {};
//# sourceMappingURL=tier-gate.d.ts.map