import { AbstractCommand } from '../AbstractCommand';
import { Document } from '../../core/models/Document';
/**
 * A command used to delete a schema definition.
 * @author eric.wittmann@gmail.com
 * @extends AbstractCommand
 * @class
 */
export declare abstract class DeleteSchemaDefinitionCommand extends AbstractCommand {
    _definitionName: string;
    _oldDefinition: any;
    constructor(definitionName?: any);
    /**
     * @see io.apicurio.datamodels.cmd.ICommand#execute(io.apicurio.datamodels.core.models.Document)
     * @param {Document} document
     */
    execute(document: Document): void;
    /**
     * @see io.apicurio.datamodels.cmd.ICommand#undo(io.apicurio.datamodels.core.models.Document)
     * @param {Document} document
     */
    undo(document: Document): void;
    /**
     * Deletes the schema definition.
     * @param {Document} document
     * @return {*}
     */
    abstract doDeleteSchemaDefinition(document: Document): any;
    /**
     * Restores the schema definition previously deleted.
     * @param {Document} document
     * @param {*} oldDefinition
     */
    abstract doRestoreSchemaDefinition(document: Document, oldDefinition: any): any;
}
