import { type McpToolsetName } from "./constants.js"; import type { McpToolName } from "./observability-catalog.js"; import { type DiscordPermissionName } from "./permissions.js"; export declare const MCP_TOOL_AUTH_CLASSES: readonly ["bot", "bot-and-stored-webhook-token", "none", "short-lived-interaction-token"]; export type McpToolAuthClass = typeof MCP_TOOL_AUTH_CLASSES[number]; export declare const MCP_TOOL_TARGET_SCOPES: readonly ["application", "channel", "guild", "interaction", "local", "user", "webhook"]; export type McpToolTargetScope = typeof MCP_TOOL_TARGET_SCOPES[number]; export declare const MCP_TOOL_PERMISSION_MODES: readonly ["all-listed", "conditional", "delegated-runtime", "none"]; export type McpToolPermissionMode = typeof MCP_TOOL_PERMISSION_MODES[number]; export declare const MCP_TOOL_HIERARCHY_MODES: readonly ["conditional", "not-applicable", "required"]; export type McpToolHierarchyMode = typeof MCP_TOOL_HIERARCHY_MODES[number]; export declare const MCP_TOOL_GATEWAY_INTENTS: readonly ["GUILDS", "GUILD_MEMBERS", "MESSAGE_CONTENT"]; export type McpToolGatewayIntent = typeof MCP_TOOL_GATEWAY_INTENTS[number]; export interface McpToolIntentRequirement { name: McpToolGatewayIntent; privileged: boolean; status: "conditional" | "recommended" | "required"; } export interface McpToolPermissionCondition { case: string; permissions: readonly DiscordPermissionName[]; } export interface McpToolStaticRequirements { authentication: McpToolAuthClass; configuration: { evaluation: "operation-runtime"; policyPaths: readonly string[]; recipeNames: readonly ("coordination-channel" | "message-channel" | "channel-publisher" | "direct-messenger" | "guild-builder" | "guild-starter" | "incident-response")[]; presetNames: readonly ("channel-reader" | "server-observer")[]; }; discord: { conditions: readonly McpToolPermissionCondition[]; hierarchy: McpToolHierarchyMode; intents: readonly McpToolIntentRequirement[]; permissionMode: McpToolPermissionMode; permissions: readonly DiscordPermissionName[]; verification: "not-applicable" | "operation-runtime"; }; source: "exact-tool" | "toolset"; targetScope: McpToolTargetScope; } export declare function mcpToolStaticRequirements(name: McpToolName, toolset: McpToolsetName): McpToolStaticRequirements; //# sourceMappingURL=mcp-tool-readiness.d.ts.map