import { ICommand } from '../ICommand';
import { Document } from '../../core/models/Document';
/**
 * @author eric.wittmann@gmail.com
 * @class
 */
export declare class OtCommand {
    author: string;
    contentVersion: number;
    command: ICommand;
    local: boolean;
    reverted: boolean;
    /**
     * Executes the command against the given document.  Skips execution if the command
     * has been reverted/undone.
     * @param {Document} document
     */
    execute(document: Document): void;
    /**
     * Invokes 'undo' on the underlying ICommand but only if it hasn't already been reverted.
     * Any command already reverted will simply be skipped.
     * @param {Document} document
     */
    undo(document: Document): void;
    /**
     * Invokes 'redo' on the underlying ICommand but only if it hasn't already been reverted.
     * Any command already reverted will simply be skipped.
     * @param {Document} document
     */
    redo(document: Document): void;
    constructor();
}
