import { CharChainResult } from "../models";
import { CustomButtonSettings } from "../settings/settings";
/**
 * Comprehensive toolbar component for version navigation, slideshow, zoom, and custom actions.
 */
export declare class Toolbar {
    private container;
    private firstBtn;
    private prevBtn;
    private prevStagedBtn;
    private nextStagedBtn;
    private nextBtn;
    private lastBtn;
    private versionLabel;
    private groupBadge;
    private logDisplay;
    private slideshowStartBtn;
    private slideshowStopBtn;
    private slideshowReverseBtn;
    private autoForwardBtn;
    private zoomInBtn;
    private zoomOutBtn;
    private fitBtn;
    private downloadBtn;
    private resetLayoutBtn;
    private _data;
    private _currentVersionIndex;
    private _customButtons;
    private _disabledButtonIds;
    private _slideshowReverse;
    private _autoForwardEnabled;
    /**
     * Get slideshow reverse state.
     */
    getSlideshowReverse(): boolean;
    constructor(container: HTMLElement);
    /**
     * Render toolbar UI elements.
     */
    private render;
    /**
     * Replace feather icon placeholders with actual SVG icons.
     */
    private replaceFeatherIcons;
    /**
     * Attach event listeners to buttons.
     */
    private attachEventListeners;
    /**
     * Render custom buttons from settings.
     */
    private renderCustomButtons;
    /**
     * Update button states and version label.
     */
    private updateButtons;
    /**
     * Update version label with current version information.
     */
    private updateVersionLabel;
    /**
     * Update the log display with the current operation's log feature.
     */
    private updateLogDisplay;
    /**
     * Get version information for current step.
     */
    private getVersionInfo;
    /**
     * Check if there is a previous staged version.
     */
    private hasPrevStagedVersion;
    /**
     * Check if there is a next staged version.
     */
    private hasNextStagedVersion;
    /**
     * Update slideshow reverse button appearance.
     */
    private updateSlideshowReverseButton;
    /**
     * Update auto-forward button visual state.
     */
    private updateAutoForwardButton;
    /**
     * Apply disabled state to buttons from settings.
     */
    private applyDisabledButtons;
    /**
     * Dispatch navigation event for parent component to handle.
     */
    private dispatchNavigationEvent;
    /**
     * Dispatch slideshow event for parent component to handle.
     */
    private dispatchSlideshowEvent;
    /**
     * Dispatch auto-forward event for parent component to handle.
     */
    private dispatchAutoForwardEvent;
    /**
     * Dispatch display event for parent component to handle.
     */
    private dispatchDisplayEvent;
    /**
     * Dispatch layout event for parent component to handle.
     */
    private dispatchLayoutEvent;
    /**
     * Update data reference (for staged version detection).
     */
    updateData(data: CharChainResult | null): void;
    /**
     * Set current version index (for external updates).
     */
    setCurrentIndex(index: number): void;
    /**
     * Get current version index.
     */
    getCurrentIndex(): number;
    /**
     * Set custom buttons from settings.
     */
    setCustomButtons(customButtons: CustomButtonSettings[]): void;
    /**
     * Set disabled button IDs from settings.
     */
    setDisabledButtons(disabledButtonIds: string[]): void;
    /**
     * Set slideshow active state (show/hide start/stop buttons).
     */
    setSlideshowActive(active: boolean): void;
    /**
     * Disable all navigation buttons (e.g., during slideshow).
     */
    setNavigationDisabled(disabled: boolean): void;
    /**
     * Set auto-forward enabled state and update button appearance.
     */
    setAutoForwardEnabled(enabled: boolean): void;
}
