import { type ToolRiskLevel } from './toolCostMetadata.js'; import type { ContractRegistry } from '../registry.js'; import type { SignalProvenance } from '../../agent/turnAnalysis.js'; export type ToolPermissionDecision = 'allow' | 'require_user_approval' | 'require_explicit_intent'; export interface ToolPermission { tool: string; decision: ToolPermissionDecision; riskLevel: ToolRiskLevel; requiresUserApproval: boolean; userVisibleCost: string; } export interface PermissionGateOutcome { allowed: boolean; reason?: string; decision: ToolPermissionDecision; } export interface PermissionGateInput { toolName: string; latestUserText: string; alreadyAskingClarification?: boolean; plannerProvenance?: SignalProvenance; } export declare const TOOL_PERMISSIONS: ReadonlyArray; export declare function getToolPermission(toolName: string): ToolPermission | undefined; export declare function toolRequiresUserApproval(toolName: string): boolean; export declare function getToolPermissionDecision(toolName: string): ToolPermissionDecision; export declare function evaluatePermissionGate(input: PermissionGateInput): PermissionGateOutcome; export declare function populateToolPermissions(registry: ContractRegistry): void; //# sourceMappingURL=toolPermissions.d.ts.map