import { ContentObject, OpenAPIObject, OperationObject, ParameterObject, PathItemObject, ReferenceObject, ResponseObject, SecurityRequirementObject } from 'openapi3-ts'; import { OaContent } from './oa-content.js'; import { OaImport } from './oa-import.js'; import { OaOperationVariant } from './oa-operation-variant.js'; import { OaParameter } from './oa-parameter.js'; import { OaRequestBody } from './oa-request-body.js'; import { OaResponse } from './oa-response.js'; import { OaSecurity } from './oa-security.js'; import { Options } from './options.js'; export declare type HttpMethod = keyof Pick; export declare const HTTP_METHODS: Array; export declare class OaOperation { openApi: OpenAPIObject; path: string; pathSpec: PathItemObject; method: HttpMethod; id: string; spec: OperationObject; options: Options; tags: string[]; methodName: string; pathVar: string; parameters: OaParameter[]; hasParameters: boolean; parametersRequired: boolean; security: OaSecurity[][]; deprecated: boolean; requestBody?: OaRequestBody; successResponse?: OaResponse; allResponses: OaResponse[]; pathExpression: string; variants: OaOperationVariant[]; constructor(openApi: OpenAPIObject, path: string, pathSpec: PathItemObject, method: HttpMethod, id: string, spec: OperationObject, options: Options); updateProperties(imports: Map): void; protected collectParameters(params: (ParameterObject | ReferenceObject)[] | undefined): OaParameter[]; protected collectSecurity(params: SecurityRequirementObject[] | undefined): OaSecurity[][]; protected paramIsNotExcluded(param: ParameterObject): boolean; protected collectContent(desc: ContentObject | undefined): OaContent[]; protected collectResponses(): { success: OaResponse | undefined; all: OaResponse[]; }; protected getResponse(responseObject: ResponseObject, statusCode: string): OaResponse; /** * Returns a path expression to be evaluated, for example: * "/a/{var1}/b/{var2}/" returns "/a/${params.var1}/b/${params.var2}" */ protected toPathExpression(): string; protected calculateVariants(): void; protected contentsByMethodPart(hasContent?: { content?: OaContent[]; }): Map; /** * Returns how the given content is represented on the method name */ protected variantMethodPart(content: OaContent | null): string; }