import type { IMenuItem, ContentItemModel, ExtendedOpenAPIOperation, Unstable_ExternalCodeSample } from '../types'; import type { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample, Referenced, Server, OpenAPIExample, OpenAPISecurityRequirement } from '../../types'; import type { OpenAPIParser } from '../OpenAPIParser'; import type { RedocProNormalizedOptions } from '../../../../services'; import type { MediaContentModel } from './MediaContent'; import type { GroupModel } from './Group.model'; import { CallbackModel } from './Callback'; import { FieldModel } from './Field'; import { RequestBodyModel } from './RequestBody'; import { ResponseModel } from './Response'; import { SecurityRequirementModel } from './SecurityRequirement'; export interface Sample { lang: string; label?: string; } export interface XPayloadSample extends Sample { lang: 'payload'; requestBodyContent: MediaContentModel; source: string; } export declare function isPayloadSample(sample: XPayloadSample | OpenAPIXCodeSample | Unstable_ExternalCodeSample): sample is XPayloadSample; /** * Operation model ready to be used by components */ export declare class OperationModel implements IMenuItem { private parser; operationDefinition: ExtendedOpenAPIOperation; private options; id: string; absoluteIdx?: number; name: string; description?: string; href?: string; type: "operation"; parent?: GroupModel; externalDocs?: OpenAPIExternalDocumentation; items: ContentItemModel[]; depth: number; ready?: boolean; active: boolean; expanded: boolean; activeMimeName?: string; activeExampleName?: string | false; activeServer: Server; requestValues?: { [field: string]: any; }; defaultExampleName?: string | false; defaultMimeType?: string; pointer: string; operationId?: string; httpVerb: string; deprecated: boolean; path: string; servers: OpenAPIServer[]; security: SecurityRequirementModel[]; extensions: GenericObject; isCallback: boolean; isWebhook: boolean; isEvent: boolean; examples?: { [media: string]: Referenced; }; constructor(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: RedocProNormalizedOptions, isCallback?: boolean); /** * set operation as active (used by side menu) */ activate(): void; /** * set operation as inactive (used by side menu) */ deactivate(): void; /** * Toggle expansion in middle panel (for callbacks, which are operations) */ toggle(): void; activateMimeName(name?: string): void; activateExampleName(name?: string): void; expand(): void; collapse(): void; get requestBody(): RequestBodyModel | undefined; get payload(): XPayloadSample | undefined; get hasSamples(): boolean; get definitionSamples(): Array; get allCodeSamples(): Array; get parameters(): FieldModel[]; get responses(): ResponseModel[]; get callbacks(): CallbackModel[]; get hideTryItPanel(): boolean; setActiveServer(activeServer: Server): void; setRequestValues(values: { [field: string]: any; }): void; private mergeInMockServer; private generateCodeSamples; } export declare function getSecurity(requirements: OpenAPISecurityRequirement[] | undefined, parser: OpenAPIParser): SecurityRequirementModel[];