import type { ImageViewerAPI, UndoCommandSupport, OpenParameters, ZoomSettings } from "./ImageViewer";
/**
 * MergeImageLayer undo command.
 */
export declare class MergeImageLayerCommand implements UndoCommandSupport {
    /**
     * Constructor.
     * @param {string} newDataUrl
     * @param {string} originalImageDataUrl
     */
    constructor(newDataUrl: string, originalImageDataUrl: string);
    name: "MergeImageLayer";
    execute(viewer: ImageViewerAPI): Promise<void>;
    undo(viewer: ImageViewerAPI): Promise<void>;
}
/**
 * Open command.
 */
export declare class OpenCommand implements UndoCommandSupport {
    /**
     * OpenCommand constructor.
     * @param {ImageViewerAPI} viewer
     * @param {string | URL | Uint8Array | Array<number>} file
     * @param {OpenParameters} params
     */
    constructor(viewer: ImageViewerAPI, file: string | URL | Uint8Array | Array<number>, params: OpenParameters);
    name: "Open";
    execute(viewer: ImageViewerAPI): Promise<void>;
    undo(viewer: ImageViewerAPI): Promise<void>;
}
/**
 * Close command.
 */
export declare class CloseCommand implements UndoCommandSupport {
    /**
     * CloseCommand constructor.
     */
    constructor(viewer: ImageViewerAPI);
    name: "Close";
    execute(viewer: ImageViewerAPI): Promise<void>;
    undo(viewer: ImageViewerAPI): Promise<void>;
}
/**
 * StartAnimation command.
 */
export declare class StartAnimationCommand implements UndoCommandSupport {
    /**
     * Constructor.
     * @param frameIndex
     */
    constructor(startFrameIndex: number);
    name: 'StartAnimation';
    execute(viewer: ImageViewerAPI): Promise<void>;
    undo(viewer: ImageViewerAPI): Promise<void>;
}
/**
 * StopAnimation command.
 */
export declare class StopAnimationCommand implements UndoCommandSupport {
    /**
     * Constructor.
     * @param {number} stopFrameIndex
     * @param {number} startFrameIndex
     */
    constructor(stopFrameIndex: number, startFrameIndex: number);
    name: "StopAnimation";
    execute(viewer: ImageViewerAPI): Promise<void>;
    undo(viewer: ImageViewerAPI): Promise<void>;
}
/**
 * Frame Index command.
 */
export declare class FrameIndexCommand implements UndoCommandSupport {
    /**
     * Constructor.
     * @param {number} frameIndex
     * @param {number} prevFrameIndex
     */
    constructor(frameIndex: number, prevFrameIndex: number);
    name: "FrameIndex";
    execute(viewer: ImageViewerAPI): Promise<void>;
    undo(viewer: ImageViewerAPI): Promise<void>;
}
/**
 * Zoom command.
 * @example
 * ```javascript
 * viewer.executeCommand(new ZoomCommand( { mode: 0, factor: 0.5 }, { mode: 0, factor: 1.0 } ));
 * ```
 */
export declare class ZoomCommand implements UndoCommandSupport {
    /**
     * Constructor
     * @param {ZoomSettings} settings new zoom settings.
     * @param {ZoomSettings} prevSettings optional, previous zoom settings.
     */
    constructor(settings: ZoomSettings, prevSettings?: ZoomSettings);
    name: "Zoom";
    execute(viewer: ImageViewerAPI): Promise<void>;
    undo(viewer: ImageViewerAPI): Promise<void>;
}
