import { Document } from '../../../core/models/Document'; import { Extension } from '../../../core/models/Extension'; import { IReferenceNode } from '../../../core/models/IReferenceNode'; import { Node } from '../../../core/models/Node'; import { ValidationProblem } from '../../../core/models/ValidationProblem'; import { Contact } from '../../../core/models/common/Contact'; import { ExternalDocumentation } from '../../../core/models/common/ExternalDocumentation'; import { IDefinition } from '../../../core/models/common/IDefinition'; import { IExample } from '../../../core/models/common/IExample'; import { Info } from '../../../core/models/common/Info'; import { License } from '../../../core/models/common/License'; import { Operation } from '../../../core/models/common/Operation'; import { Parameter } from '../../../core/models/common/Parameter'; import { Schema } from '../../../core/models/common/Schema'; import { SecurityRequirement } from '../../../core/models/common/SecurityRequirement'; import { SecurityScheme } from '../../../core/models/common/SecurityScheme'; import { Tag } from '../../../core/models/common/Tag'; import { IOasPropertySchema } from '../../models/IOasPropertySchema'; import { OasHeader } from '../../models/OasHeader'; import { OasPathItem } from '../../models/OasPathItem'; import { OasPaths } from '../../models/OasPaths'; import { OasResponse } from '../../models/OasResponse'; import { OasResponses } from '../../models/OasResponses'; import { OasSchema } from '../../models/OasSchema'; import { OasXML } from '../../models/OasXML'; import { Oas20Definitions } from '../../v2/models/Oas20Definitions'; import { Oas20Headers } from '../../v2/models/Oas20Headers'; import { Oas20Items } from '../../v2/models/Oas20Items'; import { Oas20Operation } from '../../v2/models/Oas20Operation'; import { Oas20Parameter } from '../../v2/models/Oas20Parameter'; import { Oas20ParameterDefinitions } from '../../v2/models/Oas20ParameterDefinitions'; import { Oas20Response } from '../../v2/models/Oas20Response'; import { Oas20ResponseDefinitions } from '../../v2/models/Oas20ResponseDefinitions'; import { Oas20Scopes } from '../../v2/models/Oas20Scopes'; import { Oas20SecurityDefinitions } from '../../v2/models/Oas20SecurityDefinitions'; import { IOas20Visitor } from '../../v2/visitors/IOas20Visitor'; import { Oas30Components } from '../../v3/models/Oas30Components'; import { Oas30Document } from '../../v3/models/Oas30Document'; import { Oas30Parameter } from '../../v3/models/Oas30Parameter'; import { Oas30Response } from '../../v3/models/Oas30Response'; import { Oas30Schema } from '../../v3/models/Oas30Schema'; /** * A visitor used to transform an OpenAPI 2.0 document into an OpenAPI 3.0.x document. * @author eric.wittmann@gmail.com * @class */ export declare class Oas20to30TransformationVisitor implements IOas20Visitor { doc30: Oas30Document; _nodeMap: any; _postProcessResponses: Array; _postProcessingComplete: boolean; /** * Retrieves the final result. * @return {Oas30Document} */ getResult(): Oas30Document; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitDocument(io.apicurio.datamodels.core.models.Document) * @param {Document} node */ visitDocument(node: Document): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitInfo(io.apicurio.datamodels.core.models.common.Info) * @param {Info} node */ visitInfo(node: Info): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitContact(io.apicurio.datamodels.core.models.common.Contact) * @param {Contact} node */ visitContact(node: Contact): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitLicense(io.apicurio.datamodels.core.models.common.License) * @param {License} node */ visitLicense(node: License): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitPaths(io.apicurio.datamodels.openapi.models.OasPaths) * @param {OasPaths} node */ visitPaths(node: OasPaths): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitPathItem(io.apicurio.datamodels.openapi.models.OasPathItem) * @param {OasPathItem} node */ visitPathItem(node: OasPathItem): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitOperation(io.apicurio.datamodels.core.models.common.Operation) * @param {Operation} node */ visitOperation(node: Operation): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitParameter(io.apicurio.datamodels.core.models.common.Parameter) * @param {Parameter} node */ visitParameter(node: Parameter): void; transformParam(node: Oas20Parameter, param30: Oas30Parameter): Oas30Parameter; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitParameterDefinition(io.apicurio.datamodels.core.models.common.IDefinition) * @param {*} node */ visitParameterDefinition(node: IDefinition): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitExternalDocumentation(io.apicurio.datamodels.core.models.common.ExternalDocumentation) * @param {ExternalDocumentation} node */ visitExternalDocumentation(node: ExternalDocumentation): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSecurityRequirement(io.apicurio.datamodels.core.models.common.SecurityRequirement) * @param {SecurityRequirement} node */ visitSecurityRequirement(node: SecurityRequirement): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitResponses(io.apicurio.datamodels.openapi.models.OasResponses) * @param {OasResponses} node */ visitResponses(node: OasResponses): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitResponse(io.apicurio.datamodels.openapi.models.OasResponse) * @param {OasResponse} node */ visitResponse(node: OasResponse): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitResponseDefinition(io.apicurio.datamodels.core.models.common.IDefinition) * @param {*} node */ visitResponseDefinition(node: IDefinition): void; transformResponse(node: Oas20Response, response30: Oas30Response): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSchema(io.apicurio.datamodels.core.models.common.Schema) * @param {Schema} node */ visitSchema(node: Schema): void; /** * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitHeaders(io.apicurio.datamodels.openapi.v2.models.Oas20Headers) * @param {Oas20Headers} node */ visitHeaders(node: Oas20Headers): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitHeader(io.apicurio.datamodels.openapi.models.OasHeader) * @param {OasHeader} node */ visitHeader(node: OasHeader): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitExample(io.apicurio.datamodels.core.models.common.IExample) * @param {*} node */ visitExample(node: IExample): void; /** * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitItems(io.apicurio.datamodels.openapi.v2.models.Oas20Items) * @param {Oas20Items} node */ visitItems(node: Oas20Items): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitTag(io.apicurio.datamodels.core.models.common.Tag) * @param {Tag} node */ visitTag(node: Tag): void; /** * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitSecurityDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20SecurityDefinitions) * @param {Oas20SecurityDefinitions} node */ visitSecurityDefinitions(node: Oas20SecurityDefinitions): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSecurityScheme(io.apicurio.datamodels.core.models.common.SecurityScheme) * @param {SecurityScheme} node */ visitSecurityScheme(node: SecurityScheme): void; /** * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitScopes(io.apicurio.datamodels.openapi.v2.models.Oas20Scopes) * @param {Oas20Scopes} node */ visitScopes(node: Oas20Scopes): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitXML(io.apicurio.datamodels.openapi.models.OasXML) * @param {OasXML} node */ visitXML(node: OasXML): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSchemaDefinition(io.apicurio.datamodels.core.models.common.IDefinition) * @param {*} node */ visitSchemaDefinition(node: IDefinition): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitPropertySchema(io.apicurio.datamodels.openapi.models.IOasPropertySchema) * @param {*} node */ visitPropertySchema(node: IOasPropertySchema): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitAdditionalPropertiesSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitAdditionalPropertiesSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitAllOfSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitAllOfSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitItemsSchema(io.apicurio.datamodels.openapi.models.OasSchema) * @param {OasSchema} node */ visitItemsSchema(node: OasSchema): void; /** * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20Definitions) * @param {Oas20Definitions} node */ visitDefinitions(node: Oas20Definitions): void; /** * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitParameterDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20ParameterDefinitions) * @param {Oas20ParameterDefinitions} node */ visitParameterDefinitions(node: Oas20ParameterDefinitions): void; /** * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitResponseDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20ResponseDefinitions) * @param {Oas20ResponseDefinitions} node */ visitResponseDefinitions(node: Oas20ResponseDefinitions): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitExtension(io.apicurio.datamodels.core.models.Extension) * @param {Extension} node */ visitExtension(node: Extension): void; /** * @see io.apicurio.datamodels.core.visitors.IVisitor#visitValidationProblem(io.apicurio.datamodels.core.models.ValidationProblem) * @param {ValidationProblem} problem */ visitValidationProblem(problem: ValidationProblem): void; mapNode(from: Node, to: Node): void; lookup(node: Node): Node; getOrCreateComponents(): Oas30Components; toSchema(from: Node, schema30: Oas30Schema, isSchema: boolean): Oas30Schema; findItemsParent(node: Oas20Items): Oas30Schema; findParentOperation(node: Parameter): Oas20Operation; findProduces(node: Node): Array; findConsumes(node: Node): Array; collectionFormatToStyleAndExplode(node: Oas20Parameter, param30: Oas30Parameter): void; isFormDataMimeType(mimetype: string): boolean; hasFormDataMimeType(mimetypes: Array): boolean; isRef(node: IReferenceNode): boolean; updateRef($ref: string): string; /** * Called when visiting is complete. Any additional processing of the result can * be done here. * @private */ postProcess(): void; constructor(); }