import type { CallbackObject } from './callback.js' import type { ExampleObject } from './example.js' import type { HeaderObject } from './header.js' import type { LinkObject } from './link.js' import type { ParameterObject } from './parameter.js' import type { ReferenceObject } from './reference.js' import type { RequestBodyObject } from './request-body.js' import type { ResponseObject } from './response.js' import type { SchemaObject } from './schema.js' import type { SecuritySchemeObject } from './security-scheme.js' /** * Components object * * Holds a set of reusable objects for different aspects of the OAS. All objects defined within the Components Object will have no effect on the API unless they are explicitly referenced from outside the Components Object. * * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#components-object} */ export type ComponentsObject = { /** An object to hold reusable [Schema Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#schema-object). */ schemas?: Record /** An object to hold reusable [Response Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#response-object). */ responses?: Record /** An object to hold reusable [Parameter Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#parameter-object). */ parameters?: Record /** An object to hold reusable [Example Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#example-object). */ examples?: Record /** An object to hold reusable [Request Body Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#request-body-object). */ requestBodies?: Record /** An object to hold reusable [Header Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#header-object). */ headers?: Record /** An object to hold reusable [Security Scheme Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#security-scheme-object). */ securitySchemes?: Record /** An object to hold reusable [Link Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#link-object). */ links?: Record /** An object to hold reusable [Callback Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#callback-object). */ callbacks?: Record } & Record<`x-${string}`, unknown>