/**
 * Assistant Components Index
 * Export all LLM copilot components
 */

// Core Chat Components
export { default as ChatMessage } from './ChatMessage';
export type { Message } from './ChatMessage';

export { default as ChatInput } from './ChatInput';

// Signal Components
export { default as SignalCard } from './SignalCard';
export type { TradingSignal } from './SignalCard';

// Conversation Management
export { default as ConversationHistory } from './ConversationHistory';
export { default as ContextPanel } from './ContextPanel';

// Tool Call Display
export { default as ToolCallCard } from './ToolCallCard';
export type { ToolCall } from './ToolCallCard';

// Feedback System
export { default as MessageFeedback } from './MessageFeedback';
export type { FeedbackData } from './MessageFeedback';

// Loading & Streaming Indicators
export { default as StreamingIndicator } from './StreamingIndicator';
export { TypingDots, PulseIndicator, ProcessingSteps } from './StreamingIndicator';

// Settings
export { default as AssistantSettingsPanel } from './AssistantSettingsPanel';
export type { AssistantSettings } from './AssistantSettingsPanel';

// Signal Execution
export { default as SignalExecutionPanel } from './SignalExecutionPanel';
export type { ExecutionParams, ExecutionResult } from './SignalExecutionPanel';

// Message List & Layout
export { default as MessageList } from './MessageList';
export { default as ChatHeader } from './ChatHeader';

// Search
export { default as MessageSearch } from './MessageSearch';

// Rendering
export { default as MarkdownRenderer } from './MarkdownRenderer';
export { CodeBlock, AlertBox, SignalCard as MarkdownSignalCard, parseMarkdown } from './MarkdownRenderer';

// Analysis & Strategy (OQI-007)
export { default as AnalysisRequestForm } from './AnalysisRequestForm';
export type { AnalysisRequest, AnalysisTemplate } from './AnalysisRequestForm';

export { default as StrategyTemplateSelector } from './StrategyTemplateSelector';
export type { StrategyTemplate } from './StrategyTemplateSelector';

// LLM Configuration (OQI-007)
export { default as LLMConfigPanel } from './LLMConfigPanel';
export type { LLMConfig, ModelInfo, ConfigPreset, ModelId, ReasoningStyle, AnalysisDepth } from './LLMConfigPanel';

// Context Memory (OQI-007)
export { default as ContextMemoryDisplay } from './ContextMemoryDisplay';
export type { ContextMessage, ContextSummary, ContextMemoryState } from './ContextMemoryDisplay';

// Error Handling & Status (OQI-007) - Re-export from shared component
export { default as ErrorBoundary } from '../../../components/ErrorBoundary';
export type { ErrorBoundaryProps, ErrorBoundaryState } from '../../../components/ErrorBoundary';

export { default as ConnectionStatus } from './ConnectionStatus';
export type { ConnectionState, ConnectionMetrics, ConnectionStatusProps } from './ConnectionStatus';

// Token Management (OQI-007)
export { default as TokenUsageDisplay } from './TokenUsageDisplay';
export type { TokenUsage, TokenCosts, SessionTokenStats, TokenUsageDisplayProps } from './TokenUsageDisplay';

// Prompt Library (OQI-007)
export { default as PromptLibrary } from './PromptLibrary';
export type { Prompt, PromptCategory, PromptLibraryProps } from './PromptLibrary';

// Memory Management (OQI-007 - SUBTASK-008)
export { default as MemoryManager } from './MemoryManager';
export type { ConversationRecord, MemoryUsage, ContextWindow } from './MemoryManager';

// LLM Tools Integration (OQI-007 - SUBTASK-008)
export { default as LLMToolsPanel } from './LLMToolsPanel';
export type { LLMTool, ToolParameter, ToolExecution } from './LLMToolsPanel';

// Fine-Tuning Interface (OQI-007 - SUBTASK-008)
export { default as FineTuningPanel } from './FineTuningPanel';
export type { BaseModel, TrainingDataset, FineTunedModel, TrainingConfig } from './FineTuningPanel';

// Memory Manager Panel (OQI-007 - Enhanced)
export { default as MemoryManagerPanel } from './MemoryManagerPanel';
export type { MemoryItem, MemoryStats, MemoryCategory } from './MemoryManagerPanel';

// Tools Configuration Panel (OQI-007)
export { default as ToolsConfigPanel } from './ToolsConfigPanel';
export type { AgentTool, ToolCategory } from './ToolsConfigPanel';

// Advanced Conversation History (OQI-007)
export { default as ConversationHistoryAdvanced } from './ConversationHistoryAdvanced';

// Agent Mode Selector (OQI-007)
export { default as AgentModeSelector } from './AgentModeSelector';
export type { AgentMode, AgentModeConfig, TriggerCondition, ActivitySchedule } from './AgentModeSelector';
