import { z } from 'zod'; import type { LogEntry, MessageSchemaEntry, AgentDocs } from './protocol.js'; export declare const helloFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"hello">; appName: z.ZodString; appVersion: z.ZodString; msgSchema: z.ZodCustom, Record>; stateSchema: z.ZodCustom; affordancesSample: z.ZodCustom; docs: z.ZodCustom; schemaHash: z.ZodString; lapVersion: z.ZodOptional; }, z.core.$strip>; export declare const rpcReplyFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"rpc-reply">; id: z.ZodString; result: z.ZodUnknown; }, z.core.$strip>; export declare const rpcErrorFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"rpc-error">; id: z.ZodString; code: z.ZodString; detail: z.ZodOptional; }, z.core.$strip>; export declare const confirmResolvedFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"confirm-resolved">; confirmId: z.ZodString; outcome: z.ZodEnum<{ "user-cancelled": "user-cancelled"; confirmed: "confirmed"; }>; stateAfter: z.ZodUnknown; }, z.core.$strip>; export declare const stateUpdateFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"state-update">; id: z.ZodOptional; path: z.ZodString; stateAfter: z.ZodUnknown; }, z.core.$strip>; export declare const logAppendFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"log-append">; entry: z.ZodCustom; }, z.core.$strip>; export declare const clientFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ t: z.ZodLiteral<"hello">; appName: z.ZodString; appVersion: z.ZodString; msgSchema: z.ZodCustom, Record>; stateSchema: z.ZodCustom; affordancesSample: z.ZodCustom; docs: z.ZodCustom; schemaHash: z.ZodString; lapVersion: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"rpc-reply">; id: z.ZodString; result: z.ZodUnknown; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"rpc-error">; id: z.ZodString; code: z.ZodString; detail: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"confirm-resolved">; confirmId: z.ZodString; outcome: z.ZodEnum<{ "user-cancelled": "user-cancelled"; confirmed: "confirmed"; }>; stateAfter: z.ZodUnknown; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"state-update">; id: z.ZodOptional; path: z.ZodString; stateAfter: z.ZodUnknown; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"log-append">; entry: z.ZodCustom; }, z.core.$strip>], "t">; export declare const rpcFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"rpc">; id: z.ZodString; tool: z.ZodString; args: z.ZodUnknown; }, z.core.$strip>; export declare const revokedFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"revoked">; }, z.core.$strip>; export declare const activeFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"active">; }, z.core.$strip>; export declare const logPushFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"log-push">; entry: z.ZodCustom; }, z.core.$strip>; export declare const confirmExpireFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"confirm-expire">; confirmId: z.ZodString; }, z.core.$strip>; export declare const watchFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"watch">; id: z.ZodString; path: z.ZodOptional; }, z.core.$strip>; export declare const unwatchFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"unwatch">; id: z.ZodString; }, z.core.$strip>; /** * Server → browser handshake reply. Sent in response to the browser's * `hello`, carrying the wire version the server speaks and the oldest * client version it will accept. Lets the browser detect (and surface) * an incompatibility explicitly; the server independently terminates the * pairing when the client is below `minClientVersion`. */ export declare const helloAckFrameSchema: z.ZodObject<{ t: z.ZodLiteral<"hello-ack">; lapVersion: z.ZodNumber; minClientVersion: z.ZodNumber; }, z.core.$strip>; export declare const serverFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ t: z.ZodLiteral<"rpc">; id: z.ZodString; tool: z.ZodString; args: z.ZodUnknown; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"revoked">; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"active">; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"log-push">; entry: z.ZodCustom; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"confirm-expire">; confirmId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"watch">; id: z.ZodString; path: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"unwatch">; id: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"hello-ack">; lapVersion: z.ZodNumber; minClientVersion: z.ZodNumber; }, z.core.$strip>], "t">; export type HelloFrame = z.infer; export type RpcReplyFrame = z.infer; export type RpcErrorFrame = z.infer; export type ConfirmResolvedFrame = z.infer; export type StateUpdateFrame = z.infer; export type LogAppendFrame = z.infer; export type ClientFrame = z.infer; export type RpcFrame = z.infer; export type RevokedFrame = z.infer; export type ActiveFrame = z.infer; export type LogPushFrame = z.infer; export type ConfirmExpireFrame = z.infer; export type WatchFrame = z.infer; export type UnwatchFrame = z.infer; export type HelloAckFrame = z.infer; export type ServerFrame = z.infer; /** * Parse + validate an inbound ClientFrame. Returns the typed frame on * success or `null` when the value isn't a well-formed frame — callers * drop `null` rather than dispatching an unchecked object. */ export declare function parseClientFrame(value: unknown): ClientFrame | null; /** * Parse + validate an inbound ServerFrame. Returns the typed frame on * success or `null` when the value isn't a well-formed frame. */ export declare function parseServerFrame(value: unknown): ServerFrame | null; //# sourceMappingURL=frames.d.ts.map