/**
 * Tool gate — applies a ResolvedToolPolicy to a tools record. This is the
 * ONE place where include/exclude filtering of the native tool set happens;
 * every generate/stream path reaches it via BaseProvider.
 *
 * Generic over the tool value type so it works for AI-SDK Tool records,
 * ToolInfo listings, and provider wire formats alike.
 */
import type { ResolvedToolPolicy } from "../types/index.js";
/**
 * Filter a tools record according to the resolved policy.
 * Order: enabled kill-switch → include allowlist → exclude denylist.
 * Preserves the input record's key order for surviving tools (callers rely
 * on deterministic ordering for provider prompt-cache stability).
 */
export declare function applyToolGate<T>(tools: Record<string, T>, policy: ResolvedToolPolicy): Record<string, T>;
