import { OpenAPIObject, OperationObject, PathItemObject } from 'openapi3-ts'; import { OperationVariant } from './operation-variant'; import { Options } from './options'; import { Parameter } from './parameter'; import { Security } from './security'; import { RequestBody } from './request-body'; import { Response } from './response'; /** * An operation descriptor */ export declare class Operation { openApi: OpenAPIObject; path: string; pathSpec: PathItemObject; method: string; id: string; spec: OperationObject; options: Options; tags: string[]; methodName: string; pathVar: string; parameters: Parameter[]; hasParameters: boolean; parametersRequired: boolean; security: Security[][]; deprecated: boolean; requestBody?: RequestBody; successResponse?: Response; allResponses: Response[]; pathExpression: string; variants: OperationVariant[]; constructor(openApi: OpenAPIObject, path: string, pathSpec: PathItemObject, method: string, id: string, spec: OperationObject, options: Options); private collectParameters; private collectSecurity; private paramIsNotExcluded; private collectContent; private collectResponses; /** * Returns a path expression to be evaluated, for example: * "/a/{var1}/b/{var2}/" returns "/a/${params.var1}/b/${params.var2}" */ private toPathExpression; private contentsByMethodPart; private calculateVariants; /** * Returns how the given content is represented on the method name */ private variantMethodPart; }