import { z } from 'zod'; export declare const REMOTE_RELAY_PROTOCOL_VERSION: "2026-07-remote-relay-v1"; export declare const RemoteDeploymentModeSchema: z.ZodEnum<{ local: "local"; hosted: "hosted"; self_hosted: "self_hosted"; }>; export declare const RemoteRiskLevelSchema: z.ZodEnum<{ export: "export"; write: "write"; read: "read"; destructive: "destructive"; }>; export declare const RemoteScopeSchema: z.ZodEnum<{ "easyeda.read": "easyeda.read"; "easyeda.write": "easyeda.write"; "easyeda.export": "easyeda.export"; "easyeda.project_admin": "easyeda.project_admin"; }>; export type RemoteDeploymentMode = z.infer; export type RemoteRiskLevel = z.infer; export type RemoteScope = z.infer; export declare const ActiveProjectSchema: z.ZodObject<{ projectId: z.ZodOptional; projectName: z.ZodOptional; documentType: z.ZodDefault>; url: z.ZodOptional; }, z.core.$strip>; export type ActiveProject = z.infer; export declare const RegisterSessionMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; sessionId: z.ZodOptional; timestamp: z.ZodString; type: z.ZodLiteral<"register_session">; extensionVersion: z.ZodString; mode: z.ZodEnum<{ hosted: "hosted"; self_hosted: "self_hosted"; }>; activeProject: z.ZodOptional; projectName: z.ZodOptional; documentType: z.ZodDefault>; url: z.ZodOptional; }, z.core.$strip>>; capabilities: z.ZodDefault>; }, z.core.$strip>; export declare const SessionRegisteredMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"session_registered">; sessionId: z.ZodString; paired: z.ZodBoolean; expiresAt: z.ZodString; }, z.core.$strip>; export declare const HeartbeatMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; sessionId: z.ZodOptional; timestamp: z.ZodString; type: z.ZodLiteral<"heartbeat">; }, z.core.$strip>; export declare const ToolRequestMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"tool_request">; sessionId: z.ZodString; toolName: z.ZodString; riskLevel: z.ZodEnum<{ export: "export"; write: "write"; read: "read"; destructive: "destructive"; }>; requiresApproval: z.ZodBoolean; input: z.ZodOptional; inputHash: z.ZodString; activeProjectHint: z.ZodOptional; projectName: z.ZodOptional; documentType: z.ZodDefault>; url: z.ZodOptional; }, z.core.$strip>>; deadlineMs: z.ZodOptional; }, z.core.$strip>; export declare const ToolResponseMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"tool_response">; sessionId: z.ZodString; requestMessageId: z.ZodString; ok: z.ZodBoolean; result: z.ZodOptional; error: z.ZodOptional; }, z.core.$strip>>; durationMs: z.ZodNumber; }, z.core.$strip>; export declare const ApprovalRequestMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"approval_request">; sessionId: z.ZodString; approvalId: z.ZodString; toolName: z.ZodString; riskLevel: z.ZodEnum<{ export: "export"; write: "write"; read: "read"; destructive: "destructive"; }>; actionSummary: z.ZodString; inputHash: z.ZodString; activeProject: z.ZodOptional; projectName: z.ZodOptional; documentType: z.ZodDefault>; url: z.ZodOptional; }, z.core.$strip>>; expiresAt: z.ZodString; }, z.core.$strip>; export declare const ApprovalResultMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"approval_result">; sessionId: z.ZodString; approvalId: z.ZodString; result: z.ZodEnum<{ rejected: "rejected"; approved: "approved"; timeout: "timeout"; }>; }, z.core.$strip>; export declare const SessionClosedMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"session_closed">; sessionId: z.ZodString; reason: z.ZodEnum<{ user_disabled: "user_disabled"; expired: "expired"; disconnected: "disconnected"; replaced: "replaced"; }>; }, z.core.$strip>; export declare const RelayErrorMessageSchema: z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"error">; sessionId: z.ZodOptional; code: z.ZodString; message: z.ZodString; }, z.core.$strip>; export declare const RelayMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; sessionId: z.ZodOptional; timestamp: z.ZodString; type: z.ZodLiteral<"register_session">; extensionVersion: z.ZodString; mode: z.ZodEnum<{ hosted: "hosted"; self_hosted: "self_hosted"; }>; activeProject: z.ZodOptional; projectName: z.ZodOptional; documentType: z.ZodDefault>; url: z.ZodOptional; }, z.core.$strip>>; capabilities: z.ZodDefault>; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"session_registered">; sessionId: z.ZodString; paired: z.ZodBoolean; expiresAt: z.ZodString; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; sessionId: z.ZodOptional; timestamp: z.ZodString; type: z.ZodLiteral<"heartbeat">; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"tool_request">; sessionId: z.ZodString; toolName: z.ZodString; riskLevel: z.ZodEnum<{ export: "export"; write: "write"; read: "read"; destructive: "destructive"; }>; requiresApproval: z.ZodBoolean; input: z.ZodOptional; inputHash: z.ZodString; activeProjectHint: z.ZodOptional; projectName: z.ZodOptional; documentType: z.ZodDefault>; url: z.ZodOptional; }, z.core.$strip>>; deadlineMs: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"tool_response">; sessionId: z.ZodString; requestMessageId: z.ZodString; ok: z.ZodBoolean; result: z.ZodOptional; error: z.ZodOptional; }, z.core.$strip>>; durationMs: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"approval_request">; sessionId: z.ZodString; approvalId: z.ZodString; toolName: z.ZodString; riskLevel: z.ZodEnum<{ export: "export"; write: "write"; read: "read"; destructive: "destructive"; }>; actionSummary: z.ZodString; inputHash: z.ZodString; activeProject: z.ZodOptional; projectName: z.ZodOptional; documentType: z.ZodDefault>; url: z.ZodOptional; }, z.core.$strip>>; expiresAt: z.ZodString; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"approval_result">; sessionId: z.ZodString; approvalId: z.ZodString; result: z.ZodEnum<{ rejected: "rejected"; approved: "approved"; timeout: "timeout"; }>; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"session_closed">; sessionId: z.ZodString; reason: z.ZodEnum<{ user_disabled: "user_disabled"; expired: "expired"; disconnected: "disconnected"; replaced: "replaced"; }>; }, z.core.$strip>, z.ZodObject<{ protocolVersion: z.ZodLiteral<"2026-07-remote-relay-v1">; messageId: z.ZodString; timestamp: z.ZodString; type: z.ZodLiteral<"error">; sessionId: z.ZodOptional; code: z.ZodString; message: z.ZodString; }, z.core.$strip>], "type">; export type RelayMessage = z.infer; export type RegisterSessionMessage = z.infer; export type ToolRequestMessage = z.infer; export type ToolResponseMessage = z.infer; export type ApprovalRequestMessage = z.infer;