import { BaseRecord } from '@aioia/core'; import { z } from 'zod'; export declare const chatroomSchema: z.ZodObject<{ id: z.ZodString; companionId: z.ZodString; name: z.ZodString; language: z.ZodString; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; name: string; createdAt: string; updatedAt: string; companionId: string; language: string; }, { id: string; name: string; createdAt: string; updatedAt: string; companionId: string; language: string; }>; export interface Chatroom extends BaseRecord { id: string; companionId: string; name: string; language: string; createdAt: string; updatedAt: string; } export interface ChatroomCreate { companionId: string; name: string; language?: string; } export declare enum SenderType { USER = "USER", COMPANION = "COMPANION" } export declare enum MessageStatus { SENDING = "SENDING", SENT = "SENT", ERROR = "ERROR" } export declare const messageSchema: z.ZodObject<{ id: z.ZodString; senderType: z.ZodNativeEnum; content: z.ZodString; createdAt: z.ZodString; companionId: z.ZodOptional; anonymousId: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; createdAt: string; senderType: SenderType; content: string; companionId?: string | undefined; anonymousId?: string | undefined; }, { id: string; createdAt: string; senderType: SenderType; content: string; companionId?: string | undefined; anonymousId?: string | undefined; }>; export interface Message extends BaseRecord { id: string; senderType: SenderType; content: string; createdAt: string; companionId?: string; anonymousId?: string; status?: MessageStatus; } /** * Type guard to check if message is from user */ export declare const isUser: (message: Message) => boolean; /** * Type guard to check if message is from companion */ export declare const isCompanion: (message: Message) => boolean; //# sourceMappingURL=chatroom.d.ts.map