import type { CustomPlugin } from '../../types';
/**
 * CodeBlock 插件配置选项
 */
export interface CodeBlockPluginOptions {
    /**
     * 优先级（默认 70）
     */
    priority?: number;
    /**
     * 自定义语言别名映射
     * @example { js: 'javascript', ts: 'typescript' }
     */
    languageAliases?: Record<string, string>;
    /**
     * HTML 发布接口 URL
     * @example 'https://api.example.com/publish'
     */
    publishUrl?: string;
    /**
     * 发布成功后的回调函数
     * @param url - 发布后返回的 URL
     * @example (url) => console.log('Published:', url)
     */
    onPublished?: (url: string) => void;
    /** Optional CSS URL to load for Prism (consumers can provide local file path) */
    cssUrl?: string;
    /**
     * 是否开启代码块自动折叠，默认开启 (true)
     */
    enableCollapse?: boolean;
    /**
     * 折叠触发的最高高度（像素），默认 300
     */
    collapseMaxHeight?: number;
}
/**
 * codeBlockPlugin - 代码块渲染插件
 *
 * 使用 Prism 进行语法高亮，并提供复制和 HTML 预览功能
 *
 * @param options - 插件配置选项
 * @param options.priority - 优先级（默认 70）
 * @param options.languageAliases - 语言别名映射
 * @returns CustomPlugin
 *
 * @example
 * ```ts
 * // 默认配置
 * { plugin: codeBlockPlugin }
 *
 * // 自定义配置
 * {
 *   plugin: codeBlockPlugin,
 *   options: {
 *     priority: 80,
 *     languageAliases: { js: 'javascript', ts: 'typescript' }
 *   }
 * }
 * ```
 */
export declare function codeBlockPlugin(options?: CodeBlockPluginOptions): CustomPlugin;
export default codeBlockPlugin;
