import type { ConfigOverrides } from "../config.js"; import type { ContextLensSummary } from "../context-lens.js"; import { type Asset, type Catalog, type CatalogEntry, type Dependency } from "../model.js"; import type { Diagnostic } from "../types/diagnostics.js"; type CatalogFormat = "json" | "markdown"; export declare const CATALOG_JSON_SCHEMA_VERSION: "renma.catalog.v1"; /** Complete result emitted by the catalog command before formatting. */ export interface CatalogResult { root: string; configPath?: string; scannedFileCount: number; catalog: Catalog; contextLens: ContextLensSummary; diagnostics: Diagnostic[]; } interface CatalogDependencyIndexes { outboundBySourceId: ReadonlyMap; inboundByResolvedTargetId: ReadonlyMap; } interface CatalogMarkdownInstrumentation { onAssetIndexed?(entry: Asset): void; onDependencyIndexed?(dependency: Dependency): void; onDependencyTargetResolved?(dependency: Dependency, target: Asset | undefined): void; onOutboundLookup?(entry: CatalogEntry): void; onInboundLookup?(entry: CatalogEntry): void; } /** Run catalog discovery, format output, and return a CLI-style exit code. */ export declare function runCatalogCommand(targetPath: string, options: { format: CatalogFormat; overrides?: ConfigOverrides; }): Promise; /** Discover repository artifacts and build their normalized catalog model. */ export declare function catalog(targetPath: string, overrides?: ConfigOverrides): Promise; /** Format the catalog command result as deterministic pretty JSON. */ export declare function formatCatalogJson(result: CatalogResult): string; /** Format a compact Markdown catalog intended for code review and generated docs. */ export declare function formatCatalogMarkdown(result: CatalogResult, instrumentation?: CatalogMarkdownInstrumentation): string; /** Prepare stable dependency buckets and target resolution once per catalog render. */ export declare function prepareCatalogDependencyIndexes(catalog: Catalog, instrumentation?: CatalogMarkdownInstrumentation): CatalogDependencyIndexes; export {};