import type { ContractSchemaNode } from './contract-schema-types.mts'; import type { OpenApiConverterContext } from './contract-schema-to-openapi.mts'; import type { OpenApiSchema } from './openapi-types.mts'; /** * Structurally merges an all-object intersection instead of emitting raw `allOf`: the * extractor defaults `additionalProperties:false`, so `allOf` of two closed objects is * unsatisfiable. Falls back to raw `allOf` only when a member isn't an object (directly or * via `ref`), where that unsatisfiability concern doesn't apply. `nodeToOpenApi` is passed in * (rather than imported) so this module doesn't form an import cycle with the dispatcher. */ export declare function intersectionToOpenApi(node: Extract, ctx: OpenApiConverterContext, nodeToOpenApi: (node: ContractSchemaNode, ctx: OpenApiConverterContext) => OpenApiSchema): OpenApiSchema;