/**
 * `vyuh-dxkit baseline show` — pretty-print + filter the on-disk
 * baseline file.
 *
 * Three render modes share one loaded `BaselineFile`:
 *
 *   - **summary** (`baseline show` or `baseline show --summary`) —
 *     header (commit, branch, creation time, schema, dxkit version,
 *     salt mode) plus per-kind counts. The fast scan a developer
 *     reaches for to answer "what's the shape of this baseline?"
 *
 *   - **kind-filtered** (`baseline show --kind <X>`) — every entry
 *     matching the named kind, with locator + identity prefix. The
 *     drill-down for "show me every dep-vuln in this baseline."
 *
 *   - **JSON** (`baseline show --json [--kind <X>]`) — schema-banner-
 *     wrapped payload. Filter applies if specified. Designed for
 *     agents + CI consumers.
 *
 * Pure module — no I/O. The CLI layer loads the file via
 * `readBaselineFile` and routes the result through these renderers.
 */
import type { BaselineFile } from './baseline-file';
import type { BaselineEntry } from './types';
/**
 * JSON schema banner for the `baseline show --json` envelope.
 * Distinct from the raw `schemaVersion: 'dxkit-baseline/v1'` field
 * on the underlying file: this envelope is a *rendered view* and
 * may carry a filter discriminator the raw file doesn't.
 */
export declare const BASELINE_SHOW_SCHEMA: "dxkit.baseline-show.v1";
/**
 * The kinds a user can filter on. Mirror of the `BaselineEntry`
 * discriminant union — keeps the CLI's flag-validation aligned with
 * the storage shape.
 */
export declare const FILTER_KINDS: ReadonlyArray<BaselineEntry['kind']>;
/** Result of parsing the user's `--kind` value. Returns `null` for
 *  unknown values so the CLI surfaces a helpful error including the
 *  full list of accepted kinds. */
export declare function parseKindFilter(raw: string): BaselineEntry['kind'] | null;
/**
 * Render the summary view: header lines + per-kind counts table.
 * Always reports every kind that appears at least once; absent kinds
 * are omitted to keep the table compact.
 */
export declare function renderSummary(file: BaselineFile): string;
/**
 * Render every entry matching `kind`. Each line carries the
 * identity prefix (first 12 chars — enough to distinguish entries
 * by eye without bloating the line), the locator info, and any
 * kind-specific discriminator.
 *
 * Returns the header + a notice when no entries match, rather than
 * an empty string, so the user always sees confirmation that the
 * filter ran.
 */
export declare function renderKind(file: BaselineFile, kind: BaselineEntry['kind']): string;
/**
 * Render the JSON envelope. Wraps the underlying file (full or
 * kind-filtered) in a top-level `schema` banner so consumers can
 * version-gate before reading. Filter discriminator is included
 * when present so consumers know whether they're seeing the full
 * findings list.
 */
export declare function renderJson(file: BaselineFile, options?: {
    readonly kind?: BaselineEntry['kind'];
}): {
    readonly schema: typeof BASELINE_SHOW_SCHEMA;
    readonly filter: {
        readonly kind: BaselineEntry['kind'];
    } | null;
    readonly baseline: BaselineFile;
    readonly summary: {
        readonly total: number;
        readonly byKind: Readonly<Partial<Record<BaselineEntry['kind'], number>>>;
    };
};
//# sourceMappingURL=show.d.ts.map