import type { AIInteractionEvent } from '@/components/organisms/ai/_shared/interaction-context';
/**
 * 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<string, string>;
}
/**
 * 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;
