import { GveRenditionSettings } from "../settings/settings";
import { Logger } from "../core/logger";
/**
 * Version text area component - displays plain text for current version.
 * Can be collapsed/expanded and includes toolbar for text manipulation.
 * Now includes previous text (Text B), pinning, and diff view.
 */
export declare class VersionTextArea {
    private container;
    private textAreaA;
    private textAreaB;
    private diffPanel;
    private textPanelA;
    private textPanelB;
    private textPanelDiff;
    private copyBtn;
    private wrapBtn;
    private increaseFontBtn;
    private decreaseFontBtn;
    private pinBtn;
    private diffDirectionBtn;
    private collapseBtn;
    private resizeHandle;
    private _settings;
    private _logger;
    private _isCollapsed;
    private _wordWrap;
    private _currentFontSize;
    private _isDragging;
    private _startY;
    private _startHeight;
    private _isPinned;
    private _diffDirection;
    private _previousText;
    private _panelResizing;
    constructor(settings: GveRenditionSettings, logger: Logger);
    /**
     * Create and return the version text area container.
     */
    create(): HTMLElement;
    /**
     * Replace feather icon placeholders with actual SVG icons.
     */
    private replaceFeatherIcons;
    /**
     * Apply text styles from settings.
     */
    private applyTextStyles;
    /**
     * Attach event listeners to toolbar buttons.
     */
    private attachEventListeners;
    /**
     * Copy current text (A) to clipboard.
     */
    private copyText;
    /**
     * Toggle word wrap for text areas.
     */
    private toggleWordWrap;
    /**
     * Increase font size.
     */
    private increaseFontSize;
    /**
     * Decrease font size.
     */
    private decreaseFontSize;
    /**
     * Toggle pin state for previous text (B).
     */
    private togglePin;
    /**
     * Toggle diff direction (B→A or A→B).
     */
    private toggleDiffDirection;
    /**
     * Toggle collapse/expand state.
     */
    private toggleCollapse;
    /**
     * Update the displayed text.
     * @param text - The plain text to display
     */
    updateText(text: string): void;
    /**
     * Update the diff panel.
     */
    private updateDiff;
    /**
     * Render diff results as HTML.
     * @param diffs - Array of diff operations
     */
    private renderDiff;
    /**
     * Escape HTML special characters.
     */
    private escapeHtml;
    /**
     * Clear the text area.
     */
    clear(): void;
    /**
     * Update settings.
     */
    updateSettings(settings: GveRenditionSettings): void;
    /**
     * Start resize operation.
     */
    private startResize;
    /**
     * Handle resize during drag.
     */
    private handleResize;
    /**
     * End resize operation.
     */
    private endResize;
    /**
     * Start panel resize operation.
     */
    private startPanelResize;
    /**
     * Handle panel resize during drag.
     */
    private handlePanelResize;
    /**
     * End panel resize operation.
     */
    private endPanelResize;
}
