import GcPdfViewer from "../../GcPdfViewer";
import { UndoCommandSupport } from "./UndoCommandSupport";
/**
 * The `LegacyUndoCommand` class provides support for undo and redo operations
 * in the `GcPdfViewer` using its legacy API. It implements the `UndoCommandSupport`
 * interface to ensure compatibility with the command-based undo/redo system.
 */
export declare class LegacyUndoCommand implements UndoCommandSupport {
    viewer: GcPdfViewer;
    /**
     * Tracks the number of undo operations available when this command was created.
     * Used to ensure that undo/redo operations are executed in the correct order.
     *
     * @type {number}
     * @readonly
     */
    readonly legacyUndoCount: number;
    /**
     * Creates an instance of the `LegacyUndoCommand`.
     *
     * @param {GcPdfViewer} viewer - The `GcPdfViewer` instance associated with this undo command.
     */
    constructor(viewer: GcPdfViewer);
    /**
     * The name of the command for identification.
     *
     * @type {string}
     */
    name: string;
    /**
     * Executes the redo operation using the legacy API.
     * Ensures that the redo operation is performed only if the undo count has not exceeded
     * the number of undo operations available when the command was created.
     *
     * @param {GcPdfViewer} viewer - The `GcPdfViewer` instance on which to perform the redo operation.
     * @returns {Promise<void>} A promise that resolves when the redo operation is complete.
     */
    execute(viewer: GcPdfViewer): Promise<void>;
    /**
     * Executes the undo operation using the legacy API.
     * Ensures that the undo operation is performed only if the current undo count
     * is greater than or equal to the number of undo operations available when the command was created.
     *
     * @param {GcPdfViewer} viewer - The `GcPdfViewer` instance on which to perform the undo operation.
     * @returns {Promise<void>} A promise that resolves when the undo operation is complete.
     */
    undo(viewer: GcPdfViewer): Promise<void>;
}
