export interface PermissionRequestParams { request_id: string; tool_name: string; description: string; input_preview: string; } export type PermissionBehavior = 'allow' | 'deny'; export declare function buildPermissionRegisterBody(key: string, p: PermissionRequestParams): { key: string; request_id: string; tool_name: string; description: string; input_preview: string; }; export declare function permissionVerdictParams(request_id: string, behavior: PermissionBehavior): { request_id: string; behavior: PermissionBehavior; }; export declare const PERMISSION_REQUEST_METHOD: "notifications/claude/channel/permission_request"; export declare const PERMISSION_VERDICT_METHOD: "notifications/claude/channel/permission"; /** A Zod-v3-shaped schema the MCP SDK's `setNotificationHandler` accepts via its * zod-compat layer: it reads `.shape.method._def.value` for dispatch and calls * `.safeParse(data)` to validate. We hand-roll it (no `_zod` marker → the SDK * takes its v3 path) so the channel server needs no direct `zod` dependency. * The end-to-end relay test drives a real notification through the real SDK, so * any SDK compat change breaks loudly rather than silently. */ export declare const permissionRequestNotificationSchema: { shape: { method: { _def: { value: "notifications/claude/channel/permission_request"; }; }; }; safeParse(data: unknown): { success: true; data: { method: string; params: PermissionRequestParams; }; } | { success: false; error: Error; }; }; //# sourceMappingURL=permission.d.ts.map