import type { OpenAPIV3 } from 'openapi-types'; import type { OpenApiObjectSchema, OpenApiSchema, OpenApiSchemaProperties } from '../openapi-types'; import type { OpenApiDocumentRefs } from './refs'; import type { ParserOptions } from './options'; /** * Parse the original schema or reference object to a serializable schema. * @param schema - Originally provided schema or reference object. * @param refs - Object representing cross references throughout the document. * @param options - Options that were set for service generation. * @returns The parsed schema. * @internal */ export declare function parseSchema(schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject | undefined, refs: OpenApiDocumentRefs, options: ParserOptions): OpenApiSchema; /** * @internal * Parse a schema to an object schema. * @param schema - Original schema representing an object. * @param refs - Object representing cross references throughout the document. * @param options - Options that were set for service generation. * @returns The recursively parsed object schema. */ export declare function parseObjectSchema(schema: OpenAPIV3.NonArraySchemaObject, refs: OpenApiDocumentRefs, options: ParserOptions): OpenApiObjectSchema; /** * @internal */ export declare function normalizeSchema(schema: OpenAPIV3.NonArraySchemaObject, xOf: 'oneOf' | 'allOf' | 'anyOf'): OpenAPIV3.NonArraySchemaObject; /** * Parse schema properties e.g. 'maxLength', 'minimum', etc. * @param schema - Original schema representing a ref or schema object. * @returns The parsed schema properties object. * @internal */ export declare function parseSchemaProperties(schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject): OpenApiSchemaProperties;