/**
 * openapi-spec.ts
 *
 * Semantic renderer for the OpenAPI spec held inside an `openApiReference`
 * doc's `specification.code` field (a raw OpenAPI 3.x YAML string). Turns the
 * spec into a compact Markdown view the `DocCoverage` judge can read —
 * surfacing operations (HTTP method + path), summaries/descriptions,
 * parameters, and request/response shapes.
 *
 * Mirrors the D0069 split used for `typesReference`: this module is the pure
 * parse+render half (returns `null` when the body is not a renderable OpenAPI
 * spec); the metadata header and the raw-fenced fallback are orchestrated by
 * the renderer in `document-renderers.ts`, exactly as `renderTypesReference`
 * wraps `renderTypedocDeclarations`.
 *
 * Budget: the caller passes a byte budget (chars). Operations render in
 * document order until the budget is reached, then an explicit
 * "*N more operations omitted*" line — omissions are always counted, never a
 * silent truncation mid-operation.
 */
export interface RenderOpenApiOptions {
    /** Byte budget for the returned markdown. Output stays within it. */
    maxBytes: number;
}
export interface OpenApiRenderResult {
    markdown: string;
    /** Number of operations the spec declares (rendered + omitted). */
    operationCount: number;
}
/**
 * Render an OpenAPI YAML spec to Markdown. Returns `null` when `code` is not a
 * parseable OpenAPI document with at least one operation — the caller then
 * keeps the raw-fenced fallback (mirrors `renderTypedocDeclarations` → raw
 * typedoc inline, D0069 §7).
 */
export declare function renderOpenApiSpec(code: string, options: RenderOpenApiOptions): OpenApiRenderResult | null;
/** A reference to one declared operation, for the grader symbol index. */
export interface OpenApiOperationRef {
    operationId: string;
    method: string;
    path: string;
    summary?: string;
}
/**
 * List the operationIds the spec declares (with their method/path/summary),
 * for the renderer's `extractSymbols` recognition reference. Operations
 * without an `operationId` are skipped — there is no stable identifier to
 * surface. Returns `[]` when the body is not a parseable OpenAPI spec.
 */
export declare function listOperationRefs(code: string): OpenApiOperationRef[];
