/** * S1 / rid=api-diff-report — `peaks scan api-diff ` (design * * Read-only. Parses an OpenAPI 3.x document (JSON or YAML — `yaml` is already a * runtime dependency) and diffs it against the three sources a consumer project * already produces: `mock-plan.md`, the recorded `*-api.types.ts` interfaces, * and the TXT handoff's `## API Migration` endpoint list. * * TWO RULES GOVERN EVERY LINE BELOW (QA repair, rid=api-diff-report): * * 1. Each document LOCATION is diffed against the recorded interface that * actually describes it. An operation has independent locations (path / * query / requestBody / per-status response) and a `...Request` interface * must never be compared against a response. No shared consumption across * locations. * 2. Exactness requires BOTH sides to be fully known. Any uncertainty on the * recorded side SUPPRESSES the exact claim and says so — it is never * merely annotated. A half-readable interface silently invents * `added-in-document` / `removed-from-document` lines. * * This is the public entrypoint; parsing (`api-diff-openapi`), the recorded * sources (`api-diff-recorded`) and the shared types (`api-diff-types`) live in * sibling modules and are re-exported here. */ import { type ApiDiffReport } from './api-diff-types.js'; export * from './api-diff-openapi.js'; export * from './api-diff-recorded.js'; export * from './api-diff-types.js'; export declare function diffApiDocument(input: { projectRoot: string; docPath: string; }): ApiDiffReport; export declare function formatApiDiffText(report: ApiDiffReport): string;