import { ConversationDetailSchema, ConversationSelect, EventSelect, FeedbackSelect, MessageSelect, WebhookMessageSchema } from "@inkeep/agents-core";
import { z } from "zod";
import * as drizzle_zod0 from "drizzle-zod";

//#region src/utils/conversationFormatter.d.ts
declare const CONVERSATION_DETAIL_MESSAGE_LIMIT = 200;
type WebhookMessage = z.infer<typeof WebhookMessageSchema>;
type ConversationDetail = z.infer<typeof ConversationDetailSchema>;
declare function toIsoString(value: string | Date | null | undefined): string;
declare function formatMessage(m: MessageSelect): WebhookMessage;
declare function formatConversationDetail(conversation: ConversationSelect, messages: MessageSelect[]): ConversationDetail;
declare function formatFeedback(feedback: FeedbackSelect): {
  createdAt: string;
  updatedAt: string;
  conversationId: string;
  messageId: string | null;
  type: string;
  details: string | null;
  id: string;
};
declare function formatEvent(event: EventSelect): {
  createdAt: string;
  updatedAt: string;
  type: string;
  agentId: string | null;
  conversationId: string | null;
  messageId: string | null;
  properties: drizzle_zod0.Json;
  userProperties: drizzle_zod0.Json;
  metadata: drizzle_zod0.Json;
  serverMetadata: drizzle_zod0.Json;
  id: string;
};
//#endregion
export { CONVERSATION_DETAIL_MESSAGE_LIMIT, ConversationDetail, WebhookMessage, formatConversationDetail, formatEvent, formatFeedback, formatMessage, toIsoString };