import * as z from "zod/mini"; import { type Generation } from "./v3-generation.js"; declare const routedMessageEnvelopeSchema: z.ZodMiniObject<{ t: z.ZodMiniString; gen: z.core.$ZodBranded, "Generation", "out">; viewId: z.ZodMiniOptional>; }, z.core.$loose>; type RoutedMessageEnvelope = z.output; declare const VIEW_HOST_CONTROL_MESSAGE_TYPES: readonly ["getuserfeedback:action:viewConnect", "getuserfeedback:event:viewSize", "getuserfeedback:action:requestCloseView"]; declare const VIEW_TO_CORE_RELAY_MESSAGE_TYPES: readonly ["getuserfeedback:event:message", "getuserfeedback:event:viewStateSnapshot", "getuserfeedback:rpc:request", "getuserfeedback:rpc:response"]; declare const CORE_TO_VIEW_RELAY_MESSAGE_TYPES: readonly ["getuserfeedback:event:message", "getuserfeedback:event:colorSchemeUpdate", "getuserfeedback:event:restoreSessionSnapshot", "getuserfeedback:event:viewportSize", "getuserfeedback:rpc:request", "getuserfeedback:rpc:response"]; type ViewHostControlMessageType = (typeof VIEW_HOST_CONTROL_MESSAGE_TYPES)[number]; type ViewToCoreRelayMessageType = (typeof VIEW_TO_CORE_RELAY_MESSAGE_TYPES)[number]; type CoreToViewRelayMessageType = (typeof CORE_TO_VIEW_RELAY_MESSAGE_TYPES)[number]; type ViewHostControlMessage = RoutedMessageEnvelope & { t: ViewHostControlMessageType; }; type ViewToCoreRelayMessage = RoutedMessageEnvelope & { t: ViewToCoreRelayMessageType; }; type CoreToViewRelayMessage = RoutedMessageEnvelope & { t: CoreToViewRelayMessageType; viewId: string; }; type ViewChannelOptions = { generation: Generation | number; viewId: string; }; type CoreChannelOptions = { generation: Generation | number; }; /** * Classifies a host-controlled envelope and binds the trusted channel * identity. The endpoint validates the message's semantic payload. */ export declare function bindViewHostControlEnvelope(raw: T, options: ViewChannelOptions): (T & { viewId: string; }) | null; export declare function bindViewHostControlEnvelope(raw: unknown, options: ViewChannelOptions): ViewHostControlMessage | null; /** * Classifies a View-to-Core relay envelope and binds the channel-owned viewId. * A supplied viewId is accepted only when it agrees with the channel. The * endpoint validates the message's semantic payload. */ export declare function bindViewToCoreRelayEnvelope(raw: T, options: ViewChannelOptions): (T & { viewId: string; }) | null; export declare function bindViewToCoreRelayEnvelope(raw: unknown, options: ViewChannelOptions): ViewToCoreRelayMessage | null; /** * Classifies a targeted Core-to-View relay envelope and returns its exact * target. Core must provide viewId explicitly; hosts never infer or broadcast * a target here. The endpoint validates the message's semantic payload. */ export declare function parseCoreToViewRelayEnvelope(raw: unknown, options: CoreChannelOptions): { viewId: string; message: CoreToViewRelayMessage; } | null; export {}; //# sourceMappingURL=view-relay-contract.d.ts.map