//@ts-ignore
import { ZoomSettings } from "@grapecity/viewer-core";
import { GcImageViewer } from "../GcImageViewer";
import { OpenParameters } from "../Models";
export interface UndoCommandSupport {
    name?: string;
    execute(viewer: GcImageViewer): Promise<void>;
    undo(viewer: GcImageViewer): Promise<void>;
}
export declare class OpenCommand implements UndoCommandSupport {
    viewer: GcImageViewer;
    file: any;
    params: OpenParameters;
    private _prevFile;
    private _prevOpenParameters;
    private _prevFrameIndex;
    constructor(viewer: GcImageViewer, file: any, params: OpenParameters);
    name: string;
    execute(viewer: GcImageViewer): Promise<void>;
    undo(viewer: GcImageViewer): Promise<void>;
}
export declare class CloseCommand implements UndoCommandSupport {
    viewer: GcImageViewer;
    private _prevDataUri;
    private _prevOpenParameters;
    constructor(viewer: GcImageViewer);
    name: string;
    execute(viewer: GcImageViewer): Promise<void>;
    undo(viewer: GcImageViewer): Promise<void>;
}
export declare class StartAnimationCommand implements UndoCommandSupport {
    startFrameIndex: number;
    constructor(startFrameIndex: number);
    name: string;
    execute(viewer: GcImageViewer): Promise<void>;
    undo(viewer: GcImageViewer): Promise<void>;
}
export declare class StopAnimationCommand implements UndoCommandSupport {
    stopFrameIndex: number;
    startFrameIndex: number;
    constructor(stopFrameIndex: number, startFrameIndex: number);
    name: string;
    execute(viewer: GcImageViewer): Promise<void>;
    undo(viewer: GcImageViewer): Promise<void>;
}
export declare class FrameIndexCommand implements UndoCommandSupport {
    frameIndex: number;
    prevFrameIndex: number;
    constructor(frameIndex: number, prevFrameIndex: number);
    name: string;
    execute(viewer: GcImageViewer): Promise<void>;
    undo(viewer: GcImageViewer): Promise<void>;
}
export declare class ZoomCommand implements UndoCommandSupport {
    zoom: ZoomSettings;
    prevZoom: ZoomSettings;
    constructor(zoom: ZoomSettings, prevZoom: ZoomSettings);
    name: string;
    execute(viewer: GcImageViewer): Promise<void>;
    undo(viewer: GcImageViewer): Promise<void>;
}
