import { z } from "zod";
export declare const ChatRoomSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    purpose: z.ZodNullable<z.ZodString>;
    createdAt: z.ZodString;
    updatedAt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    name: string;
    id: string;
    createdAt: string;
    updatedAt: string;
    purpose: string | null;
}, {
    name: string;
    id: string;
    createdAt: string;
    updatedAt: string;
    purpose: string | null;
}>;
export type ChatRoom = z.infer<typeof ChatRoomSchema>;
export declare const ChatMessageSchema: z.ZodObject<{
    id: z.ZodString;
    roomId: z.ZodString;
    authorAgentId: z.ZodString;
    body: z.ZodString;
    replyToMessageId: z.ZodNullable<z.ZodString>;
    mentionAgentIds: z.ZodArray<z.ZodString, "many">;
    createdAt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: string;
    createdAt: string;
    roomId: string;
    authorAgentId: string;
    body: string;
    replyToMessageId: string | null;
    mentionAgentIds: string[];
}, {
    id: string;
    createdAt: string;
    roomId: string;
    authorAgentId: string;
    body: string;
    replyToMessageId: string | null;
    mentionAgentIds: string[];
}>;
export type ChatMessage = z.infer<typeof ChatMessageSchema>;
export declare const ChatRoomDetailSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    purpose: z.ZodNullable<z.ZodString>;
    createdAt: z.ZodString;
    updatedAt: z.ZodString;
} & {
    messageCount: z.ZodNumber;
    lastMessageAt: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    name: string;
    id: string;
    createdAt: string;
    updatedAt: string;
    purpose: string | null;
    messageCount: number;
    lastMessageAt: string | null;
}, {
    name: string;
    id: string;
    createdAt: string;
    updatedAt: string;
    purpose: string | null;
    messageCount: number;
    lastMessageAt: string | null;
}>;
export type ChatRoomDetail = z.infer<typeof ChatRoomDetailSchema>;
//# sourceMappingURL=chat-types.d.ts.map