import type { OpenAPIObject } from "openapi3-ts"; /** * Functions that represent a transformation to be applied to a specification * after the plugin has generated it. * * These may be destructive (and then return the `oas` object * passed in) or pass an entirely new schema object, at your discretion. */ export type OASTransformFunction = (oas: OpenAPIObject) => OpenAPIObject | Promise; /** * Walks the OAS spec to find the plugin's extension tag on all schemas that it can reach * and extracts them to the top level `components`. This is recursive, so it does have a * theoretical stack depth, and also it has rudimentary cycle detection (and doesn't know * how to deal with them, but then again neither do many OAS generators--PRs welcome!). * * This _will_ explode, and loudly, if it finds two schemas with the same annotated name * that do not match. */ export declare const canonicalizeAnnotatedSchemas: OASTransformFunction;