"""
Interface 模块
包含 CLI、TUI、命令处理等接口组件

子模块结构：
- styles: 样式常量 (Styles, Icons)
- widgets: 自定义 Textual 组件 (LeftAlignedMarkdown, PermissionBar, UserInput)
- tools_display: 工具执行展示 (ToolExecution, ToolDisplayManager)
- app: Textual App 主窗口 (DundunApp)
- tui: TUI 兼容层 (EnhancedTUI)
- renderer: 流式渲染管理器 (StreamingRenderer, get_tui, get_streaming_renderer)
- cli: CLI 主入口
- commands: 斜杠命令处理
"""

from interface.commands import (
    CommandCategory,
    CommandInfo,
    CommandResult,
    CommandHandler,
    get_command_handler,
)

from interface.styles import Styles, Icons
from interface.widgets import LeftAlignedMarkdown, PermissionBar, UserInput
from interface.tools_display import ToolExecution, ToolDisplayManager
from interface.app import DundunApp
from interface.tui import EnhancedTUI
from interface.renderer import StreamingRenderer, get_tui, get_streaming_renderer

__all__ = [
    # Commands
    "CommandCategory",
    "CommandInfo",
    "CommandResult",
    "CommandHandler",
    "get_command_handler",
    # Styles
    "Styles",
    "Icons",
    # Widgets
    "LeftAlignedMarkdown",
    "PermissionBar",
    "UserInput",
    # Tools Display
    "ToolExecution",
    "ToolDisplayManager",
    # App
    "DundunApp",
    # TUI
    "EnhancedTUI",
    # Renderer
    "StreamingRenderer",
    "get_tui",
    "get_streaming_renderer",
]
