import * as z from "zod"; import type { GatewayMessage, RegisterPayload, JoinGroupPayload, BroadcastPayload, DirectPayload } from "./types.js"; /** * Message type enum for validation */ export declare const MessageTypeSchema: z.ZodEnum<{ error: "error"; connect: "connect"; res: "res"; "req:agent": "req:agent"; "req:agent:cancel": "req:agent:cancel"; "event:agent": "event:agent"; "req:node": "req:node"; "event:node": "event:node"; session_subscribe: "session_subscribe"; session_unsubscribe: "session_unsubscribe"; register: "register"; registered: "registered"; unregister: "unregister"; join_group: "join_group"; leave_group: "leave_group"; broadcast: "broadcast"; direct: "direct"; ping: "ping"; pong: "pong"; ack: "ack"; }>; /** * Base gateway message schema */ export declare const GatewayMessageSchema: z.ZodObject<{ type: z.ZodEnum<{ error: "error"; connect: "connect"; res: "res"; "req:agent": "req:agent"; "req:agent:cancel": "req:agent:cancel"; "event:agent": "event:agent"; "req:node": "req:node"; "event:node": "event:node"; session_subscribe: "session_subscribe"; session_unsubscribe: "session_unsubscribe"; register: "register"; registered: "registered"; unregister: "unregister"; join_group: "join_group"; leave_group: "leave_group"; broadcast: "broadcast"; direct: "direct"; ping: "ping"; pong: "pong"; ack: "ack"; }>; id: z.ZodOptional; client: z.ZodOptional; }, z.core.$strip>>; auth: z.ZodOptional; password: z.ZodOptional; deviceId: z.ZodOptional; }, z.core.$strip>>; ok: z.ZodOptional; clientId: z.ZodOptional; nodeId: z.ZodOptional; groupId: z.ZodOptional; roomId: z.ZodOptional; targetNodeId: z.ZodOptional; payload: z.ZodOptional; timestamp: z.ZodNumber; messageId: z.ZodOptional; }, z.core.$strip>; /** * Registration payload schema */ export declare const RegisterPayloadSchema: z.ZodObject<{ name: z.ZodString; capabilities: z.ZodOptional>; token: z.ZodOptional; }, z.core.$strip>; /** * Join group payload schema */ export declare const JoinGroupPayloadSchema: z.ZodObject<{ groupId: z.ZodOptional; groupName: z.ZodOptional; createIfNotExists: z.ZodOptional; description: z.ZodOptional; }, z.core.$strip>; /** * Broadcast payload schema */ export declare const BroadcastPayloadSchema: z.ZodObject<{ groupId: z.ZodString; message: z.ZodUnknown; }, z.core.$strip>; /** * Direct message payload schema */ export declare const DirectPayloadSchema: z.ZodObject<{ targetNodeId: z.ZodString; message: z.ZodUnknown; }, z.core.$strip>; /** * Error payload schema */ export declare const ErrorPayloadSchema: z.ZodObject<{ code: z.ZodString; message: z.ZodString; details: z.ZodOptional; }, z.core.$strip>; /** * Validate a gateway message */ export declare function validateGatewayMessage(data: unknown): { success: true; data: GatewayMessage; } | { success: false; error: string; }; /** * Validate registration payload */ export declare function validateRegisterPayload(data: unknown): { success: true; data: RegisterPayload; } | { success: false; error: string; }; /** * Validate join group payload */ export declare function validateJoinGroupPayload(data: unknown): { success: true; data: JoinGroupPayload; } | { success: false; error: string; }; /** * Validate broadcast payload */ export declare function validateBroadcastPayload(data: unknown): { success: true; data: BroadcastPayload; } | { success: false; error: string; }; /** * Validate direct message payload */ export declare function validateDirectPayload(data: unknown): { success: true; data: DirectPayload; } | { success: false; error: string; };