import type { PreviewOptions } from "./PreviewOptions";
import type { Theme } from "../../theme/Theme";
import type { EventBus } from "../../core/event/EventBus";
import type { Log } from "../../core/Log";
import type { ParserStore } from "../../transformer/core/ParserStore";
export declare class Preview {
    private readonly eventBus;
    private readonly renderer;
    private readonly debug;
    /** 实际滚动容器：有外壳时是 `.penna-preview`，否则退化为 mount */
    private readonly scrollEl;
    private lastMarkdown;
    private readonly scheduleRender;
    private readonly offs;
    /**
     * 创建预览渲染器，并订阅编辑、主题和强制刷新事件。
     *
     * @param mount 承载渲染结果的 DOM 元素（`.penna-render`）。
     * @param theme 当前编辑器使用的主题实例。
     * @param eventBus 用于接收和发布预览相关事件的事件总线。
     * @param logger 渲染器使用的日志记录器。
     * @param options 预览渲染及自定义解析器选项。
     */
    constructor(mount: HTMLElement, theme: Theme, eventBus: EventBus, logger: Log, options?: PreviewOptions);
    /**
     * 最近一次成功渲染的 store；尚未渲染时返回 `null`。
     *
     * @returns 当前解析存储，或尚无渲染结果时的 `null`。
     */
    getStore(): ParserStore | null;
    private pendingTransactions;
    /**
     * 收集编辑事务并按需立即或防抖触发预览渲染。
     *
     * @param markdown 编辑器变更后的完整 Markdown 内容。
     * @param tr 生成本次内容的可选 CodeMirror 事务列表。
     */
    private onEditorChange;
    /** 执行一次增量或全量预览渲染并发布 `preview:rendered`。 */
    private flushRender;
    /**
     * 测量一次 `render` 调用耗时（仅 debug 模式）。
     */
    private measureRender;
    /**
     * 测量一次 `renderFull` 调用耗时（仅 debug 模式）。
     */
    private measureFullRender;
    /**
     * 组装 `preview:rendered` 载荷并发布。
     */
    private emitRendered;
    /**
     * 判断预览容器是否尚未完成首次渲染。
     *
     * @returns 容器没有任何已渲染子节点时为 `true`。
     */
    private rendererNeedsFirstPaint;
    /**
     * 将连续的 CodeMirror 文档事务合成为增量渲染所需的行级变更集。
     *
     * @param transactions 待合并的 CodeMirror 事务列表。
     * @returns 可用于增量渲染的变更集；没有文档变更时返回 `undefined`。
     */
    private convert2PennaChanges;
    /** 取消待执行渲染、注销事件订阅并销毁底层渲染器。 */
    destroy(): void;
}
//# sourceMappingURL=Preview.d.ts.map