import { Document } from '../core/models/Document';
/**
 * All editor commands must implement this interface.
 * @author eric.wittmann@gmail.com
 * @class
 */
export interface ICommand {
    /**
     * Called to execute the command against the given document.
     * @param {Document} document
     */
    execute(document: Document): any;
    /**
     * Called to undo the command (restore the document to a previous state).
     * @param {Document} document
     */
    undo(document: Document): any;
    /**
     * Returns the type of the command (i.e. the command's class name).
     * @return {string}
     */
    type(): string;
}
