/**
 * @fileoverview 代码编辑器工具栏组件
 * 提供代码块的各种操作功能，包括语言切换、复制、运行等
 * @author Code Plugin Team
 */
import React from 'react';
import { CodeNode } from '../../../MarkdownEditor/el';
import { LanguageSelectorProps } from './LanguageSelector';
/**
 * 代码工具栏组件的属性接口
 */
export interface CodeToolbarProps {
    theme: string;
    setTheme: (theme: string) => void;
    isExpanded: boolean;
    /** 代码块元素数据 */
    element: CodeNode;
    /** 是否为只读模式 */
    readonly: boolean;
    /** 关闭按钮点击回调（用于公式和 mermaid） */
    onCloseClick: () => void;
    /** 语言选择器的属性 */
    languageSelectorProps: LanguageSelectorProps;
    /** 代码块是否被选中 */
    isSelected?: boolean;
    /** 代码块选中状态变化回调 */
    onSelectionChange?: (selected: boolean) => void;
    /** 视图模式切换回调（用于HTML和Markdown） */
    onViewModeToggle?: (value: 'preview' | 'code') => void;
    /** 当前视图模式（'preview' | 'code'） */
    viewMode?: 'preview' | 'code';
    /** 展开/收起回调 */
    onExpandToggle?: () => void;
}
/**
 * 代码编辑器工具栏组件
 *
 * 功能：
 * - 语言选择器（非只读模式）
 * - 只读模式下的语言显示
 * - 复制代码功能
 * - 全屏切换功能
 * - HTML 代码运行功能（仅限 HTML 语言）
 * - 关闭功能（仅限公式和 mermaid）
 *
 * 布局：
 * - 左侧：语言选择器或语言显示
 * - 右侧：操作按钮组（关闭、运行、复制、全屏）
 *
 * @param props - 组件属性
 * @returns React 工具栏元素
 *
 * @example
 * ```tsx
 * <CodeToolbar
 *   element={codeElement}
 *   readonly={false}
 *   onCloseClick={() => setHidden(true)}
 *   languageSelectorProps={langProps}
 * />
 * ```
 */
export declare const CodeToolbar: (props: CodeToolbarProps) => React.JSX.Element;
