import { CombinedVisitorAdapter } from '../../combined/visitors/CombinedVisitorAdapter'; import { Document } from '../../core/models/Document'; import { NodePath } from '../../core/models/NodePath'; import { OasSchema } from '../../openapi/models/OasSchema'; import { Oas30Schema } from '../../openapi/v3/models/Oas30Schema'; import { AbstractSchemaInhCommand } from './AbstractSchemaInhCommand'; /** * A command used to delete a single child schema from a parent schema. * @author eric.wittmann@gmail.com * @extends AbstractSchemaInhCommand * @class */ export declare class DeleteChildSchemaCommand extends AbstractSchemaInhCommand { _schemaPath: NodePath; _parentPath: NodePath; _oldSchema: any; _oldSchemaType: string; constructor(schema?: 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; } export declare namespace DeleteChildSchemaCommand { /** * Visitor used to remove a child schema from its parent. * @author eric.wittmann@gmail.com * @extends CombinedVisitorAdapter * @class */ class SchemaRemoverVisitor extends CombinedVisitorAdapter { type: string; /** * @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#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; constructor(); } /** * Visitor used to add a child schema to its parent. * @author eric.wittmann@gmail.com * @extends CombinedVisitorAdapter * @class */ class SchemaAdderVisitor extends CombinedVisitorAdapter { /** * @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#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; constructor(); } }