import z from 'zod'; declare const CHAT_MESSAGE_BODY_MIN_LENGTH = 1; declare const CHAT_MESSAGE_BODY_MAX_LENGTH = 500; declare const CHAT_MODERATION_REASON_MAX_LENGTH = 200; /** * Upper bound (seconds) for `videoOffsetSec` — 48 hours. Longer than * any realistic stream duration; anything above this is a bad-actor * or client-clock-skew signal and gets rejected at the wire. */ declare const CHAT_MESSAGE_VIDEO_OFFSET_MAX_SECONDS: number; declare const ChatMessageUserSchema: z.ZodObject<{ id: z.ZodString; displayName: z.ZodString; colorHex: z.ZodString; }, z.core.$strip>; declare const ChatMessageSchema: z.ZodObject<{ id: z.ZodString; body: z.ZodString; createdAt: z.ZodISODateTime; user: z.ZodObject<{ id: z.ZodString; displayName: z.ZodString; colorHex: z.ZodString; }, z.core.$strip>; deletedAt: z.ZodOptional; videoOffsetSec: z.ZodOptional; }, z.core.$strip>; declare const ChatHistoryResponseSchema: z.ZodObject<{ totalCount: z.ZodNumber; pageNumber: z.ZodNumber; pageSize: z.ZodNumber; totalPages: z.ZodNumber; hasPreviousPage: z.ZodBoolean; hasNextPage: z.ZodBoolean; items: z.ZodArray; deletedAt: z.ZodOptional; videoOffsetSec: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; declare const PostChatMessageRequestSchema: z.ZodObject<{ body: z.ZodString; videoOffsetSec: z.ZodOptional; }, z.core.$strip>; declare const ChatModerationDeleteRequestSchema: z.ZodObject<{ reason: z.ZodOptional; }, z.core.$strict>; declare const ChatModerationMuteRequestSchema: z.ZodObject<{ until: z.ZodOptional; reason: z.ZodOptional; }, z.core.$strict>; /** * Public-shape response for `POST /chat/mute`. `mutedUntil` is the source * of truth (`null` = not muted). `mutedBy` is intentionally omitted — * moderation metadata stays out of the response surface. */ declare const ChatMuteStateResponseSchema: z.ZodObject<{ eventId: z.ZodString; mutedUntil: z.ZodNullable; }, z.core.$strip>; declare const ChatCredentialsResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"in-process">; wsNamespace: z.ZodString; token: z.ZodString; eventRoomId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ivs">; roomIdentifier: z.ZodString; endpoint: z.ZodString; token: z.ZodString; tokenTtlSeconds: z.ZodNumber; }, z.core.$strip>], "kind">; declare const InProcessChatCredentialsSchema: z.ZodObject<{ kind: z.ZodLiteral<"in-process">; wsNamespace: z.ZodString; token: z.ZodString; eventRoomId: z.ZodString; }, z.core.$strip>; declare const IvsChatCredentialsSchema: z.ZodObject<{ kind: z.ZodLiteral<"ivs">; roomIdentifier: z.ZodString; endpoint: z.ZodString; token: z.ZodString; tokenTtlSeconds: z.ZodNumber; }, z.core.$strip>; /** * ACK envelope for the `chat.post` client → server frame. Success * carries the persisted message so the FE can dedupe against the * fan-out echo; failure surfaces a stable machine-readable `code` * plus a human-readable `message`. */ declare const ChatPostAckSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ ok: z.ZodLiteral; message: z.ZodObject<{ id: z.ZodString; body: z.ZodString; createdAt: z.ZodISODateTime; user: z.ZodObject<{ id: z.ZodString; displayName: z.ZodString; colorHex: z.ZodString; }, z.core.$strip>; deletedAt: z.ZodOptional; videoOffsetSec: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ ok: z.ZodLiteral; code: z.ZodEnum<{ unauthorized: "unauthorized"; internal: "internal"; invalid_payload: "invalid_payload"; forbidden: "forbidden"; not_found: "not_found"; rate_limited: "rate_limited"; muted: "muted"; not_live: "not_live"; }>; message: z.ZodString; retryAfterSeconds: z.ZodOptional; }, z.core.$strip>], "ok">; type ChatMessageUser = z.infer; type ChatMessage = z.infer; type ChatHistoryResponse = z.infer; type PostChatMessageRequest = z.infer; type ChatModerationDeleteRequest = z.infer; type ChatModerationMuteRequest = z.infer; type ChatMuteStateResponse = z.infer; type ChatCredentialsResponse = z.infer; type IvsChatCredentials = z.infer; type InProcessChatCredentials = z.infer; type ChatPostAck = z.infer; export { CHAT_MESSAGE_BODY_MAX_LENGTH, CHAT_MESSAGE_BODY_MIN_LENGTH, CHAT_MESSAGE_VIDEO_OFFSET_MAX_SECONDS, CHAT_MODERATION_REASON_MAX_LENGTH, type ChatCredentialsResponse, ChatCredentialsResponseSchema, type ChatHistoryResponse, ChatHistoryResponseSchema, type ChatMessage, ChatMessageSchema, type ChatMessageUser, ChatMessageUserSchema, type ChatModerationDeleteRequest, ChatModerationDeleteRequestSchema, type ChatModerationMuteRequest, ChatModerationMuteRequestSchema, type ChatMuteStateResponse, ChatMuteStateResponseSchema, type ChatPostAck, ChatPostAckSchema, type InProcessChatCredentials, InProcessChatCredentialsSchema, type IvsChatCredentials, IvsChatCredentialsSchema, type PostChatMessageRequest, PostChatMessageRequestSchema };