import { type InputRequiredResult, type RequestStateCodec, type ServerContext, type Tool } from '@modelcontextprotocol/server'; export declare const GUARDED_TOOL_NAMES: readonly ["kube_pod_exec"]; type GuardedToolName = (typeof GUARDED_TOOL_NAMES)[number]; interface ApprovalState { kind: 'code-mode-sensitive-tool-approval'; toolName: GuardedToolName; argumentsHash: string; nonce: string; expiresAt: number; } interface ApprovalReplayStore { claim(nonce: string, expiresAt: number): Promise; } export declare function assertSensitiveApprovalDeploymentConfig(transport: 'stdio' | 'http', env?: NodeJS.ProcessEnv): void; export declare function isGuardedToolName(toolName: string): toolName is GuardedToolName; export declare function normalizeQualifiedToolName(toolName: string): string; export declare function withSensitiveToolAnnotations(tool: Tool): Tool; export declare class SensitiveToolApprovalGuard { private readonly stateCodec; private readonly replayStore; constructor(stateCodec?: RequestStateCodec, replayStore?: ApprovalReplayStore); get requestStateVerifier(): (state: string, context: ServerContext) => Promise; authorizeAndExecute(toolName: string, params: unknown, context: ServerContext | undefined, execute: () => Promise): Promise; private denied; } export declare const sensitiveToolApprovalGuard: SensitiveToolApprovalGuard; export {}; //# sourceMappingURL=SensitiveToolApproval.d.ts.map