import type { AssetCatalogEntry } from "../../types.js"; /** * Provides print catalog stats for the lifecycle pipeline. * * When the raw catalog file (catalog.assets.jsonl) is missing but the selected * catalog exists, breakdowns are built from the selected + rejected catalogs * so that `discover stats` shows meaningful data. Ticket: #398. */ export declare function printCatalogStats(projectRoot: string): Promise; /** * Provides inspect catalog for the lifecycle pipeline. */ export declare function inspectCatalog(projectRoot: string, args: string[]): Promise; declare function countHostsForCatalog(entries: AssetCatalogEntry[]): Record; /** * Resolves the breakdown entries and their source label for catalog stats. * * When the raw catalog is empty but selected/rejected catalogs exist, * uses the combined selection as the breakdown source so operators see * meaningful distributions instead of empty maps. Ticket: #398. */ export declare function resolveBreakdownEntries(catalogFileExists: boolean, catalogEntries: AssetCatalogEntry[], selectedEntries: AssetCatalogEntry[], rejectedEntries: AssetCatalogEntry[]): { breakdownEntries: AssetCatalogEntry[]; catalogSource: string; }; /** * Provide internals for unit testing. */ export declare const catalogInspectionInternals: { resolveBreakdownEntries: typeof resolveBreakdownEntries; countHostsForCatalog: typeof countHostsForCatalog; }; export {};