import { Document } from '../../core/models/Document';
import { Oas20SchemaDefinition } from '../../openapi/v2/models/Oas20SchemaDefinition';
import { ReplaceNodeCommand } from './ReplaceNodeCommand';
/**
 * A command used to replace a definition schema with a newer version.
 * @author eric.wittmann@gmail.com
 * @extends ReplaceNodeCommand
 * @class
 */
export declare class ReplaceSchemaDefinitionCommand_20 extends ReplaceNodeCommand<Oas20SchemaDefinition> {
    _defName: string;
    constructor(old?: any, replacement?: any);
    removeNode$io_apicurio_datamodels_core_models_Document$io_apicurio_datamodels_openapi_v2_models_Oas20SchemaDefinition(doc: Document, node: Oas20SchemaDefinition): void;
    /**
     * @see io.apicurio.datamodels.cmd.commands.ReplaceNodeCommand#removeNode(io.apicurio.datamodels.core.models.Document, io.apicurio.datamodels.core.models.Node)
     * @param {Document} doc
     * @param {Oas20SchemaDefinition} node
     */
    removeNode(doc?: any, node?: any): any;
    addNode$io_apicurio_datamodels_core_models_Document$io_apicurio_datamodels_openapi_v2_models_Oas20SchemaDefinition(doc: Document, node: Oas20SchemaDefinition): void;
    /**
     * @see io.apicurio.datamodels.cmd.commands.ReplaceNodeCommand#addNode(io.apicurio.datamodels.core.models.Document, io.apicurio.datamodels.core.models.Node)
     * @param {Document} doc
     * @param {Oas20SchemaDefinition} node
     */
    addNode(doc?: any, node?: any): any;
    /**
     * @see io.apicurio.datamodels.cmd.commands.ReplaceNodeCommand#readNode(io.apicurio.datamodels.core.models.Document, java.lang.Object)
     * @param {Document} doc
     * @param {*} node
     * @return {Oas20SchemaDefinition}
     */
    readNode(doc: Document, node: any): Oas20SchemaDefinition;
}
