import type { OpenAPIV3 } from 'openapi-types'; import type { OpenApiAllOfSchema, OpenApiAnyOfSchema, OpenApiArraySchema, OpenApiEnumSchema, OpenApiNotSchema, OpenApiObjectSchema, OpenApiOneOfSchema, OpenApiReferenceSchema, OpenApiSchema, OpenApiSchemaProperties, SchemaNaming } from './openapi-types'; import type { SchemaRefMapping } from './parser'; /** * Collect all unique reference schemas within the given schemas. * @param schemas - Parsed schemas to retrieve all references for. * @returns Returns a list of unique reference schemas within the given schemas. * @internal */ export declare function collectRefs(...schemas: (OpenApiSchema | undefined)[]): OpenApiReferenceSchema[]; /** * Reduce a list of reference schemas to a list of unique reference schemas, based on $ref. * @param refs - List of reference schemas. * @returns List of unique reference schemas. * @internal */ export declare function getUniqueRefs(refs: OpenApiReferenceSchema[]): OpenApiReferenceSchema[]; /** * Type guard to check whether an object is of type `OpenAPIV3.ReferenceObject`. * @param obj - Object to check. * @returns `true` if the object is a reference object, `false` otherwise. * @internal */ export declare function isReferenceObject(obj: any): obj is OpenAPIV3.ReferenceObject; /** * Type guard to check whether an object is of type `OpenApiArraySchema`. * @param obj - Object to check. * @returns `true` if the object is an array schema, `false` otherwise. * @internal */ export declare function isArraySchema(obj: any): obj is OpenApiArraySchema; /** * Type guard to check whether an object is of type `OpenApiObjectSchema`. * @param obj - Object to check. * @returns `true` if the object is an object schema, `false` otherwise. * @internal */ export declare function isObjectSchema(obj: any): obj is OpenApiObjectSchema; /** * Type guard to check whether an object is of type `OpenApiEnumSchema`. * @param obj - Object to check. * @returns `true` if the object is an enum schema, `false` otherwise. * @internal */ export declare function isEnumSchema(obj: any): obj is OpenApiEnumSchema; /** * Type guard to check whether an object is of type `OpenApiOneOfSchema`. * @param obj - Object to check. * @returns `true` if the object is an oneOf schema, `false` otherwise. * @internal */ export declare function isOneOfSchema(obj: any): obj is OpenApiOneOfSchema; /** * Type guard to check whether an object is of type `OpenApiAllOfSchema`. * @param obj - Object to check. * @returns `true` if the object is an allOf schema, `false` otherwise. * @internal */ export declare function isAllOfSchema(obj: any): obj is OpenApiAllOfSchema; /** * Type guard to check whether an object is of type `OpenApiAnyOfSchema`. * @param obj - Object to check. * @returns `true` if the object is an anyOf schema, `false` otherwise. * @internal */ export declare function isAnyOfSchema(obj: any): obj is OpenApiAnyOfSchema; /** * Type guard to check whether an object is of type `OpenApiNotSchema`. * @param obj - Object to check. * @returns `true` if the object is a not schema, `false` otherwise. * @internal */ export declare function isNotSchema(obj: any): obj is OpenApiNotSchema; /** * Parse the type name of a reference object. * @param obj - Reference object to get the type name from. * @param schemaRefMapping - Mapping between reference paths and schema names. * @returns Parsed type name. * @internal */ export declare function getSchemaNamingFromRef(obj: OpenAPIV3.ReferenceObject | string, schemaRefMapping: SchemaRefMapping): SchemaNaming; /** * @internal */ export declare function getSchemaPropertiesDocumentation(schemaProperties: OpenApiSchemaProperties): string[];