import type { Diagnostic } from "../../../core/domain/facts/diagnostic.js"; import type { EndpointFact } from "../../../core/domain/facts/fact.js"; import type { AnalysisUnit } from "../../../core/ports/analysis-unit.port.js"; import type { ServedContract } from "../../../core/ports/config.port.js"; import type { IOpenApiReader } from "../../../core/ports/openapi.port.js"; import { type DraftEndpointFact } from "../merge/merge-table.js"; export type IngestRequest = { readonly unit: AnalysisUnit; readonly serves: readonly ServedContract[]; readonly reader: IOpenApiReader; readonly schemaVersion: string; }; export type IngestResult = { readonly drafts: readonly DraftEndpointFact[]; readonly facts: readonly EndpointFact[]; readonly diagnostics: readonly Diagnostic[]; }; /** * Stage one of detection: the declared inventory. It runs over the served * specifications alone and never consults the code, so a route disappears * from it only when the specification stops declaring it. */ export declare function ingestServedContracts(request: IngestRequest): IngestResult;