import type { OpenAPIExternalDocumentation, OpenAPISchema, Referenced } from '../../types'; import type { OpenAPIParser } from '../OpenAPIParser'; import type { RedocProNormalizedOptions } from '../../../../services'; import type { MergedOpenAPISchema, ResponseModel } from '../'; import type { OperationModel } from './Operation'; import { FieldModel } from './Field'; export declare type Deps = { parentFieldFullPath?: string; operation?: OperationModel; type?: 'request' | 'response'; response?: ResponseModel; in?: string; }; export declare class SchemaModel { private parser; private options; private refsStack; private deps; pointer: string; type: string | string[]; displayType: string; typePrefix: string; title: string; description: string; externalDocs?: OpenAPIExternalDocumentation; isPrimitive: boolean; isCircular: boolean; format?: string; displayFormat?: string; nullable: boolean; deprecated: boolean; pattern?: string; example?: any; enum: any[]; default?: any; readOnly: boolean; writeOnly: boolean; constraints: string[]; private _fields?; items?: SchemaModel; oneOf?: SchemaModel[]; oneOfType: string; discriminatorProp: string; activeOneOf: number; rawSchema: OpenAPISchema; schema: MergedOpenAPISchema; extensions?: GenericObject; 'x-enumDescriptions': { [name: string]: string; }; const: any; contentEncoding?: string; contentMediaType?: string; minItems?: number; maxItems?: number; /** * @param parser * @param schemaOrRef * @param pointer * @param options - normalized options * @param isChild if schema discriminator Child * When true forces dereferencing in allOfs even if circular * @param refsStack - $ref stack leading to this Schema, used for circular resolution * @param deps - items depth */ constructor(parser: OpenAPIParser, schemaOrRef: Referenced, pointer: string, options: RedocProNormalizedOptions, isChild?: boolean, refsStack?: string[], deps?: Deps); /** * Set specified alternative schema as active * @param idx oneOf index */ activateOneOf(idx: number): void; hasType(type: string): boolean; get fields(): FieldModel[] | undefined; init(parser: OpenAPIParser, isChild: boolean): void; private initOneOf; private initDiscriminator; private initConditionalOperators; }