import { BasicNode } from './BasicNode'; import { Callback } from './Callback'; import { ExternalDocumentation } from './ExternalDocumentation'; import { PathParameter, QueryParameter, HeaderParameter, CookieParameter, Parameter } from './Parameter'; import { RequestBody } from './RequestBody'; import { Response } from './Response'; import { Responses } from './Responses'; import { SecurityRequirement } from './SecurityRequirement'; import { Server } from './Server'; import type { HTTPStatusCode, OperationModel, OperationModelParent, ParameterLocation, ParameterModel, PathItemOperationKey } from './types'; import type { CommonMarkString, Nullable, ParametrisedURLString, URLString } from '@fresha/api-tools-core'; /** * @see http://spec.openapis.org/oas/v3.0.3#operation-object */ export declare class Operation extends BasicNode implements OperationModel { #private; constructor(parent: OperationModelParent); get summary(): Nullable; set summary(value: Nullable); get description(): Nullable; set description(value: Nullable); get httpMethod(): PathItemOperationKey; get tagCount(): number; tags(): IterableIterator; tagAt(index: number): string; hasTag(name: string): boolean; addTag(name: string): void; deleteTag(name: string): void; deleteTagAt(index: number): void; clearTags(): void; get operationId(): Nullable; set operationId(value: Nullable); get externalDocs(): Nullable; setExternalDocs(url: URLString): ExternalDocumentation; deleteExternalDocs(): void; get parameterCount(): number; parameters(): IterableIterator; parameterAt(index: number): Parameter; hasParameter(name: string, location?: ParameterLocation): boolean; getParameter(name: string, source: ParameterLocation): Parameter | undefined; getParameterOrThrow(name: string, source: ParameterLocation): ParameterModel; addParameter(name: string, location: 'path'): PathParameter; addParameter(name: string, location: 'query'): QueryParameter; addParameter(name: string, location: 'header'): HeaderParameter; addParameter(name: string, location: 'cookie'): CookieParameter; addParameterModel(param: ParameterModel): void; deleteParameterAt(index: number): void; deleteParameter(name: string): void; clearParameters(): void; get requestBody(): Nullable; setRequestBody(): RequestBody; setRequestBodyModel(model: RequestBody): void; deleteRequestBody(): void; get responses(): Responses; setDefaultResponse(description: CommonMarkString): Response; deleteDefaultResponse(): void; getResponse(code: HTTPStatusCode): Response | undefined; getResponseOrThrow(code: HTTPStatusCode): Response; setResponse(code: HTTPStatusCode, description: CommonMarkString): Response; deleteResponse(code: HTTPStatusCode): void; clearResponses(): void; get callbackCount(): number; callbackKeys(): IterableIterator; callbacks(): IterableIterator<[string, Callback]>; hasCallback(name: string): boolean; getCallback(name: string): Callback | undefined; getCallbackOrThrow(name: string): Callback; setCallback(key: string): Callback; setCallbackModel(key: string, callback: Callback): void; deleteCallback(key: string): void; clearCallbacks(): void; get deprecated(): boolean; set deprecated(value: boolean); get effectiveSecurityRequirementCount(): number; effectiveSecurityRequirements(): IterableIterator; get securityRequirementCount(): number | undefined; securityRequirements(): IterableIterator | undefined; securityRequirementAt(index: number): SecurityRequirement | undefined; addSecurityRequirement(): SecurityRequirement; deleteSecurityRequirementAt(index: number): void; clearSecurityRequirements(): void; deleteSecurityRequirements(): void; get serverCount(): number; servers(): IterableIterator; serverAt(index: number): Server; getServer(url: ParametrisedURLString): Server | undefined; getServerOrThrow(url: ParametrisedURLString): Server; addServer(url: string): Server; deleteServer(url: string): void; deleteServerAt(index: number): void; clearServers(): void; } //# sourceMappingURL=Operation.d.ts.map