import { AaiMessage } from '../../asyncapi/models/AaiMessage'; import { AaiSchema } from '../../asyncapi/models/AaiSchema'; 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 { IPropertySchema } from '../../core/models/common/IPropertySchema'; import { Schema } from '../../core/models/common/Schema'; import { OasSchema } from '../../openapi/models/OasSchema'; import { Oas30Schema } from '../../openapi/v3/models/Oas30Schema'; /** * 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; _messageReferences: 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 {Document} document * @param {string} fromName * @param {string} toName * @return {boolean} */ abstract _renameSchemaDefinition(document: Document, fromName: string, toName: string): boolean; } export declare namespace RenameSchemaDefinitionCommand { /** * Constructor. * @param {string} reference * @class * @extends CombinedVisitorAdapter */ class SchemaRefFinder extends CombinedVisitorAdapter { _reference: string; referenceHolder: SchemaRefFinder.ReferenceHolder; constructor(reference: string); findIn(document: Document): SchemaRefFinder.ReferenceHolder; _accept$io_apicurio_datamodels_core_models_common_Schema(schema: Schema): boolean; _accept(schema?: any): any; _accept$io_apicurio_datamodels_asyncapi_models_AaiMessage(message: AaiMessage): boolean; processSchema(schema: Schema): void; processMessage(message: AaiMessage): 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.core.models.common.IPropertySchema) * @param {*} node */ visitPropertySchema(node: IPropertySchema): void; visitAdditionalPropertiesSchema$io_apicurio_datamodels_openapi_models_OasSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitAdditionalPropertiesSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitAdditionalPropertiesSchema(node?: any): any; visitAllOfSchema$io_apicurio_datamodels_openapi_models_OasSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitAllOfSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitAllOfSchema(node?: any): any; visitItemsSchema$io_apicurio_datamodels_openapi_models_OasSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitItemsSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitItemsSchema(node?: any): any; visitAnyOfSchema$io_apicurio_datamodels_openapi_v3_models_Oas30Schema_Oas30AnyOfSchema(node: Oas30Schema.Oas30AnyOfSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitAnyOfSchema(io.apicurio.datamodels.openapi.v3.models.Oas30Schema.Oas30AnyOfSchema) * @param {Oas30Schema.Oas30AnyOfSchema} node */ visitAnyOfSchema(node?: any): any; visitOneOfSchema$io_apicurio_datamodels_openapi_v3_models_Oas30Schema_Oas30OneOfSchema(node: Oas30Schema.Oas30OneOfSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitOneOfSchema(io.apicurio.datamodels.openapi.v3.models.Oas30Schema.Oas30OneOfSchema) * @param {Oas30Schema.Oas30OneOfSchema} node */ visitOneOfSchema(node?: any): any; visitNotSchema$io_apicurio_datamodels_openapi_v3_models_Oas30Schema_Oas30NotSchema(node: Oas30Schema.Oas30NotSchema): void; /** * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitNotSchema(io.apicurio.datamodels.openapi.v3.models.Oas30Schema.Oas30NotSchema) * @param {Oas30Schema.Oas30NotSchema} node */ visitNotSchema(node?: any): any; visitAllOfSchema$io_apicurio_datamodels_asyncapi_models_AaiSchema(node: AaiSchema): void; visitOneOfSchema$io_apicurio_datamodels_asyncapi_models_AaiSchema(node: AaiSchema): void; visitAnyOfSchema$io_apicurio_datamodels_asyncapi_models_AaiSchema(node: AaiSchema): void; visitNotSchema$io_apicurio_datamodels_asyncapi_models_AaiSchema(node: AaiSchema): void; visitItemsSchema$io_apicurio_datamodels_asyncapi_models_AaiSchema(node: AaiSchema): void; visitAdditionalPropertiesSchema$io_apicurio_datamodels_asyncapi_models_AaiSchema(node: AaiSchema): void; /** * Payloads from AaiMessage are not visitable (typed as {@link Object}) and therefore need a bit of manipulation * to retrieve their $references * @see io.apicurio.datamodels.combined.visitors.CombinedVisitorAdapter#visitMessage(io.apicurio.datamodels.asyncapi.models.AaiMessage) * @see io.apicurio.datamodels.asyncapi.models.AaiMessage#payload * @param {AaiMessage} node */ visitMessage(node: AaiMessage): void; } namespace SchemaRefFinder { class ReferenceHolder { schemas: Array; messages: Array; /** * @return {Schema[]} the schemas */ getSchemas(): Array; /** * @return {AaiMessage[]} the aaiMessages */ getMessages(): Array; addSchema(schema: Schema): void; addMessage(aaiMessage: AaiMessage): void; constructor(); } } }