import type { AIInteractionEvent } from '../components/organisms/ai/_shared/interaction-context.js'; /** * Format modes for LLM interaction formatting */ export type FormatMode = 'natural' | 'structured' | 'markdown'; /** * Options for formatting interaction events */ export interface FormatOptions { /** Output format mode. Defaults to 'natural' */ format?: FormatMode; /** Whether to include timestamp in the output */ includeTimestamp?: boolean; /** Label mappings for values (e.g., { 'fast': 'Fast delivery' }) */ labels?: Record; } /** * Format an AI interaction event for sending to an LLM. * * Supports three format modes: * - 'natural': Human-readable text (default) * - 'structured': JSON object structure * - 'markdown': Markdown formatted text * * @param event - The interaction event to format * @param options - Formatting options * @returns Formatted string or object depending on format mode * * @example * ```ts * // Natural format (default) * formatInteractionForLLM(event) * // => "I selected: Fast delivery, Premium quality" * * // Structured format * formatInteractionForLLM(event, { format: 'structured' }) * // => { type: 'user_interaction', component: 'select', ... } * * // Markdown format * formatInteractionForLLM(event, { format: 'markdown' }) * // => "**Selection (preferences):** `fast`, `quality`" * ``` */ export declare function formatInteractionForLLM(event: AIInteractionEvent, options?: FormatOptions): string | object;