import type { infer as ZodInfer, ZodType } from 'zod'; import type { PeerUpdate } from './schema/peer.ts'; import type { MessageReceived } from './schema/message.ts'; import type { WebRtcUpdate } from './schema/webrtc.ts'; import type { RpcSchema } from './serialization.ts'; import { RoomV1 } from './schema/room.ts'; export type Notifications = Record; export type ParsedNotification = { [Name in K]: { name: Name; properties: ZodInfer; }; }[K]; export declare function parseNotification(name: K, properties: unknown, schema: N): ParsedNotification | undefined; export type MainNotifications = { WebRtcUpdate: ZodType; }; export declare const MainNotificationsRpc: MainNotifications; export type RoomNotifications = { RoomStatusChanged: ZodType; RoomUpdated: ZodType; PeerUpdated: ZodType; MessageReceived: ZodType; }; export declare const RoomNotificationsRpc: RoomNotifications;