import { ICommand } from '../ICommand'; import { SimplifiedParameterType } from '../models/SimplifiedParameterType'; import { SimplifiedPropertyType } from '../models/SimplifiedPropertyType'; import { SimplifiedType } from '../models/SimplifiedType'; import { Document } from '../../core/models/Document'; import { DocumentType } from '../../core/models/DocumentType'; import { ExtensibleNode } from '../../core/models/ExtensibleNode'; import { Extension } from '../../core/models/Extension'; import { Node } from '../../core/models/Node'; import { NodePath } from '../../core/models/NodePath'; import { IDefinition } from '../../core/models/common/IDefinition'; import { IExampleParent } from '../../core/models/common/IExampleParent'; import { ISecurityRequirementParent } from '../../core/models/common/ISecurityRequirementParent'; import { IServerParent } from '../../core/models/common/IServerParent'; import { Info } from '../../core/models/common/Info'; 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 { Server } from '../../core/models/common/Server'; import { IOasParameterParent } from '../../openapi/models/IOasParameterParent'; import { IOasPropertySchema } from '../../openapi/models/IOasPropertySchema'; import { OasOperation } from '../../openapi/models/OasOperation'; import { OasParameter } from '../../openapi/models/OasParameter'; import { OasPathItem } from '../../openapi/models/OasPathItem'; import { OasResponse } from '../../openapi/models/OasResponse'; import { OasSchema } from '../../openapi/models/OasSchema'; import { Oas20Response } from '../../openapi/v2/models/Oas20Response'; import { Oas20ResponseDefinition } from '../../openapi/v2/models/Oas20ResponseDefinition'; import { IOas30MediaTypeParent } from '../../openapi/v3/models/IOas30MediaTypeParent'; import { Oas30Example } from '../../openapi/v3/models/Oas30Example'; import { Oas30MediaType } from '../../openapi/v3/models/Oas30MediaType'; import { Oas30Operation } from '../../openapi/v3/models/Oas30Operation'; import { Oas30Parameter } from '../../openapi/v3/models/Oas30Parameter'; /** * This factory is used to create an instance of {@link ICommand} given a "type" that was previously * serialized as part of the marshalling of a command to a JS object (and ultimately a JSON string). * The type of command is typically its short classname, but not always. * @author eric.wittmann@gmail.com * @class */ export declare class CommandFactory { /** * Called to create a command of a given type. * @param {string} cmdType * @return {*} */ static create(cmdType: string): ICommand; static createAggregateCommand(name: string, info: any, commands: Array): ICommand; static createAddExampleCommand(mediaType: Oas30MediaType, example: any, exampleName: string, exampleSummary: string, exampleDescription: string): ICommand; static createAddParameterExampleCommand(parameter: Oas30Parameter, example: any, exampleName: string, exampleSummary: string, exampleDescription: string): ICommand; static createAddSchemaDefinitionCommand(docType: DocumentType, definitionName: string, from: any): ICommand; static createAddResponseDefinitionCommand(docType: DocumentType, definitionName: string, from: any): ICommand; static createAddPathItemCommand(pathItemName: string, from: any): ICommand; static createAddSecurityRequirementCommand(parent: ISecurityRequirementParent, requirement: SecurityRequirement): ICommand; static createAddChildSchemaCommand(schema: OasSchema, childSchema: OasSchema, childType: string): ICommand; static createChangePropertyCommand(node: Node, property: string, newValue: T): ICommand; static createChangeTitleCommand(newTitle: string): ICommand; static createChangeDescriptionCommand(newDescription: string): ICommand; static createChangeVersionCommand(newVersion: string): ICommand; static createChangeLicenseCommand(name: string, url: string): ICommand; static createChangeSchemaInheritanceCommand(schema: OasSchema, inheritanceType: string): ICommand; static createChangeContactCommand(name: string, email: string, url: string): ICommand; static createChangeMediaTypeTypeCommand(mediaType: Oas30MediaType, newType: SimplifiedType): ICommand; static createChangeParameterTypeCommand(docType: DocumentType, parameter: Parameter, newType: SimplifiedParameterType): ICommand; static createChangeParameterDefinitionTypeCommand(docType: DocumentType, parameter: Parameter, newType: SimplifiedParameterType): ICommand; static createChangePropertyTypeCommand(property: IOasPropertySchema, newType: SimplifiedPropertyType): ICommand; static createChangeSchemaTypeCommand(schema: OasSchema, newType: SimplifiedType): ICommand; static createChangeResponseTypeCommand(response: Oas20Response, newType: SimplifiedType): ICommand; static createChangeResponseDefinitionTypeCommand(response: Oas20ResponseDefinition, newType: SimplifiedType): ICommand; static createChangeSecuritySchemeCommand(docType: DocumentType, scheme: SecurityScheme): ICommand; static createChangeServerCommand(server: Server): ICommand; static createDeleteContactCommand(info: Info): ICommand; static createDeleteChildSchemaCommand(schema: OasSchema): ICommand; static createDeleteAllExamplesCommand(mediaType: Oas30MediaType): ICommand; static createDeleteAllParameterExamplesCommand(parameter: Oas30Parameter): ICommand; static createDeleteAllOperationsCommand(pathItem: OasPathItem): ICommand; static createDeleteAllParametersCommand(parent: IOasParameterParent, type: string): ICommand; static createDeleteAllPropertiesCommand(schema: OasSchema): ICommand; static createDeleteAllResponsesCommand(operation: OasOperation): ICommand; static createDeleteAllSecurityRequirementsCommand(parent: ISecurityRequirementParent): ICommand; static createDeleteAllSecuritySchemesCommand(): ICommand; static createDeleteAllServersCommand(parent: IServerParent): ICommand; static createDeleteAllTagsCommand(): ICommand; static createDeleteAllChildSchemasCommand(parent: OasSchema, type: string): ICommand; static createDelete20ExampleCommand(response: Oas20Response, contentType: string): ICommand; static createDeleteExampleCommand(example: Oas30Example): ICommand; static createDeleteParameterExampleCommand(example: Oas30Example): ICommand; static createDeleteExtensionCommand(extension: Extension): ICommand; static createDeleteLicenseCommand(info: Info): ICommand; static createDeleteMediaTypeCommand(mediaType: Oas30MediaType): ICommand; static createDeleteOperationCommand(opMethod: string, pathItem: OasPathItem): ICommand; static createDeleteParameterCommand(parameter: OasParameter): ICommand; static createDeletePathCommand(path: string): ICommand; static createDeletePropertyCommand(property: IOasPropertySchema): ICommand; static createDeleteRequestBodyCommand(operation: Oas30Operation): ICommand; static createDeleteResponseCommand(response: OasResponse): ICommand; static createDeleteSchemaDefinitionCommand(docType: DocumentType, definitionName: string): ICommand; static createDeleteResponseDefinitionCommand(docType: DocumentType, definitionName: string): ICommand; static createDeleteSecurityRequirementCommand(parent: ISecurityRequirementParent, requirement: SecurityRequirement): ICommand; static createDeleteSecuritySchemeCommand(docType: DocumentType, schemeName: string): ICommand; static createDeleteServerCommand(server: Server): ICommand; static createDeleteTagCommand(tagName: string): ICommand; /** * New Commands * @param {*} parent * @param {string} newMediaType * @return {*} */ static createNewMediaTypeCommand(parent: IOas30MediaTypeParent, newMediaType: string): ICommand; static createNewOperationCommand(path: string, method: string): ICommand; static createNewParamCommand(parent: IOasParameterParent, paramName: string, paramType: string, description: string, newType: SimplifiedParameterType, override: boolean): ICommand; static createNewPathCommand(newPath: string): ICommand; static createNewRequestBodyCommand(docType: DocumentType, operation: OasOperation): ICommand; static createNewResponseCommand(operation: OasOperation, statusCode: string, sourceResponse: OasResponse): ICommand; static createNewSchemaDefinitionCommand(docType: DocumentType, definitionName: string, example: any, description: string): ICommand; static createNewResponseDefinitionCommand(docType: DocumentType, definitionName: string, description: string): ICommand; static createNewSchemaPropertyCommand(schema: Schema, propertyName: string, description: string, newType: SimplifiedPropertyType): ICommand; static createNewSecuritySchemeCommand(docType: DocumentType, scheme: SecurityScheme): ICommand; static createNewServerCommand(parent: IServerParent, server: Server): ICommand; static createNewTagCommand(name: string, description: string): ICommand; /** * Rename Commands * @param {*} parent * @param {string} oldParamName * @param {string} newParamName * @param {string} paramIn * @return {*} */ static createRenameParameterCommand(parent: IOasParameterParent, oldParamName: string, newParamName: string, paramIn: string): ICommand; static createRenamePathItemCommand(oldPath: string, newPath: string, alsoRenameSubpaths: boolean): ICommand; static createRenamePropertyCommand(parent: OasSchema, oldPropertyName: string, newPropertyName: string): ICommand; static createRenameSchemaDefinitionCommand(docType: DocumentType, oldName: string, newName: string): ICommand; static createRenameResponseDefinitionCommand(docType: DocumentType, oldName: string, newName: string): ICommand; static createRenameSecuritySchemeCommand(oldSchemeName: string, newSchemeName: string): ICommand; static createRenameTagDefinitionCommand(oldTag: string, newTag: string): ICommand; static createReplaceOperationCommand(old: OasOperation, replacement: OasOperation): ICommand; static createReplaceDocumentCommand(old: Document, replacement: Document): ICommand; static createReplacePathItemCommand(old: OasPathItem, replacement: OasPathItem): ICommand; static createReplaceSchemaDefinitionCommand(docType: DocumentType, old: IDefinition, replacement: IDefinition): ICommand; static createReplaceResponseDefinitionCommand(docType: DocumentType, old: IDefinition, replacement: IDefinition): ICommand; static createReplaceSecurityRequirementCommand(old: SecurityRequirement, replacement: SecurityRequirement): ICommand; /** * Set Commands * @param {NodePath} path * @param {string} property * @param {*} newValue * @return {*} */ static createSetPropertyCommand(path: NodePath, property: string, newValue: T): ICommand; static createSetExampleCommand(docType: DocumentType, parent: IExampleParent, example: any, nameOrContentType: string): ICommand; static createSetParameterExampleCommand(parent: IExampleParent, example: any, exampleName: string): ICommand; static createSetExtensionCommand(parent: ExtensibleNode, name: string, value: any): ICommand; }