import { AbstractCommand } from '../AbstractCommand'; import { CombinedVisitorAdapter } from '../../combined/visitors/CombinedVisitorAdapter'; import { Document } from '../../core/models/Document'; import { NodePath } from '../../core/models/NodePath'; import { IDefinition } from '../../core/models/common/IDefinition'; import { Schema } from '../../core/models/common/Schema'; import { IOasPropertySchema } from '../../openapi/models/IOasPropertySchema'; import { OasDocument } from '../../openapi/models/OasDocument'; import { OasSchema } from '../../openapi/models/OasSchema'; /** * A command used to rename a schema definition, along with all references to it. * @author eric.wittmann@gmail.com * @extends AbstractCommand * @class */ export declare abstract class RenameSchemaDefinitionCommand extends AbstractCommand { _oldName: string; _newName: string; _references: Array; constructor(oldName?: any, newName?: 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; /** * Convert a simple name to a reference. This will be different for 2.0 vs. 3.0 * data models. * @param {string} name * @return {string} */ abstract _nameToReference(name: string): string; /** * Called to actually change the name of the schema definition. This impl will vary * depending on the OAI data model version. Returns true if the rename actually happened. * @param {OasDocument} document * @param {string} fromName * @param {string} toName * @return {boolean} */ abstract _renameSchemaDefinition(document: OasDocument, fromName: string, toName: string): boolean; } export declare namespace RenameSchemaDefinitionCommand { /** * Constructor. * @param {string} reference * @class * @extends CombinedVisitorAdapter */ class SchemaRefFinder extends CombinedVisitorAdapter { _reference: string; _schemas: Array; constructor(reference: string); findIn(document: Document): Array; _accept(schema: Schema): boolean; processSchema(schema: Schema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitSchema(io.apicurio.datamodels.core.models.common.Schema) * @param {Schema} node */ visitSchema(node: Schema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitSchemaDefinition(io.apicurio.datamodels.core.models.common.IDefinition) * @param {*} node */ visitSchemaDefinition(node: IDefinition): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitPropertySchema(io.apicurio.datamodels.openapi.models.IOasPropertySchema) * @param {*} node */ visitPropertySchema(node: IOasPropertySchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitAdditionalPropertiesSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitAdditionalPropertiesSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitAllOfSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitAllOfSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitItemsSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitItemsSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitAnyOfSchema(io.apicurio.datamodels.openapi.v3.models.Oas30Schema.Oas30AnyOfSchema) * @param {Oas30Schema.Oas30AnyOfSchema} node */ visitAnyOfSchema(node: Oas30Schema.Oas30AnyOfSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitOneOfSchema(io.apicurio.datamodels.openapi.v3.models.Oas30Schema.Oas30OneOfSchema) * @param {Oas30Schema.Oas30OneOfSchema} node */ visitOneOfSchema(node: Oas30Schema.Oas30OneOfSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitNotSchema(io.apicurio.datamodels.openapi.v3.models.Oas30Schema.Oas30NotSchema) * @param {Oas30Schema.Oas30NotSchema} node */ visitNotSchema(node: Oas30Schema.Oas30NotSchema): void; } } import { Oas30Schema } from '../../openapi/v3/models/Oas30Schema';