import { GveRenditionSettings } from "../settings/settings";
import { Logger } from "../core/logger";
import { CharChainResult, CharNode } from "../models";
/**
 * Details area component - displays operation metadata and hovered element details.
 */
export declare class DetailsArea {
    private container;
    private operationSection;
    private versionFeaturesSection;
    private hoveredElementsSection;
    private hiddenFeaturesCheckbox;
    private collapseBtn;
    private resizeHandle;
    private _settings;
    private _logger;
    private _summaryService;
    private _isCollapsed;
    private _showHiddenFeatures;
    private _data;
    private _currentVersionTag;
    private _isResizing;
    private _initialHeight;
    private _initialMouseY;
    private _isPinned;
    private _pinnedElements;
    constructor(settings: GveRenditionSettings, logger: Logger);
    create(): HTMLElement;
    /**
     * Replace feather icon placeholders with actual SVG icons.
     */
    private replaceFeatherIcons;
    /**
     * Attach event listeners.
     */
    private attachEventListeners;
    /**
     * Start resizing the details area.
     */
    private startResize;
    /**
     * Handle resize drag.
     */
    private handleResize;
    /**
     * Stop resizing the details area.
     */
    private stopResize;
    /**
     * Toggle collapse/expand state.
     */
    private toggleCollapse;
    /**
     * Update the details area with version information.
     * @param data - The CharChainResult data
     * @param versionTag - The version tag (e.g., "v0", "v1")
     */
    updateVersion(data: CharChainResult | null, versionTag: string): void;
    /**
     * Update the operation section with operation summary and features.
     */
    private updateOperationSection;
    /**
     * Update the version features section with global features.
     */
    private updateVersionFeaturesSection;
    /**
     * Update the hovered elements section.
     * @param hoveredElements - Array of hovered text SVG elements with their node data
     */
    updateHoveredElements(hoveredElements: Array<{
        element: SVGTextElement;
        node: CharNode;
    }>): void;
    /**
     * Render hovered elements with pin button.
     */
    private renderHoveredElements;
    /**
     * Toggle pin state.
     */
    private togglePin;
    /**
     * Pin a specific element (triggered by click).
     */
    pinElement(element: SVGTextElement, node: CharNode): void;
    /**
     * Filter features based on hidden features setting.
     */
    private filterFeatures;
    /**
     * Render a list of features as HTML.
     */
    private renderFeatureList;
    /**
     * Get version index from version tag.
     */
    private getVersionIndex;
    /**
     * Escape HTML special characters.
     */
    private escapeHtml;
    /**
     * Clear all sections.
     */
    clear(): void;
    /**
     * Update settings.
     */
    updateSettings(settings: GveRenditionSettings): void;
}
