import { AppEventContext } from "../../../app";
import { ICopyHandler } from "./ICopyHandler";
export declare class CopyTextHandler implements ICopyHandler {
    private readonly richTextHelper;
    copy(e: ClipboardEvent, ctx: AppEventContext): boolean;
    private extractRichText;
    /**
     * 从选区中提取纯文本
     *
     * 注意：charIndex 表示光标位置（在字符之后），而非字符索引
     * 例如：文本 "abcde"
     *   - charIndex = -1：光标在 'a' 之前
     *   - charIndex = 0：光标在 'a' 之后（'b' 之前）
     *   - charIndex = 1：光标在 'b' 之后（'c' 之前）
     *
     * 选区 start.charIndex=0, end.charIndex=1 表示选中了 'b'
     *
     * @param renderText 渲染文本对象
     * @param start 选区起始位置
     * @param end 选区结束位置
     * @returns 提取的纯文本
     */
    private extractPlainText;
    /**
     * 从单个段落中提取文本
     * @param paragraph 段落对象
     * @param start 起始位置
     * @param end 结束位置
     * @returns 提取的文本
     */
    private extractTextFromParagraph;
    private extractRichTextFromParagraph;
    private extractRichTextFromLine;
    private extractTextFromTextBlock;
    private buildFullTextStyle;
    /**
     * 从单行中提取文本
     * @param line 行对象
     * @param startCharIndex 起始字符索引（-1 表示从行首开始）
     * @param endCharIndex 结束字符索引
     * @returns 提取的文本
     */
    private extractTextFromLine;
}
//# sourceMappingURL=CopyTextHandler.d.ts.map