import type { CodeIndex } from "../types.js";
import type { ProjectProfile } from "./project-tools.js";
import type { CommunityInfo } from "./wiki-surprise.js";
import type { ImportEdge } from "../utils/import-graph.js";
import type { RankedHubSymbol } from "./wiki-hub-ranker.js";
import type { ProjectOverview, ModuleMetadata, WikiManifestV2, WikiManifest } from "./wiki-manifest.js";
import { type PageInfo } from "./wiki-manifest.js";
import type { FileHotspot } from "./wiki-page-generators.js";
/**
 * Build a ProjectOverview from the analyzeProject result and the code index.
 * Emits `_degraded` as a side-channel when git history is shallow/missing; the
 * orchestrator strips it and pushes to `degraded_reasons`.
 */
export declare function buildProjectOverview(projectResult: ProjectProfile, codeIndex: CodeIndex): ProjectOverview & {
    _degraded?: string;
};
export declare function buildModuleMetadata(communities: CommunityInfo[], projectResult: ProjectProfile, codeIndex: CodeIndex, importEdges: ImportEdge[], fileHotspots: FileHotspot[], rankedHubs: RankedHubSymbol[]): ModuleMetadata[];
export interface BuildWikiManifestV2Options {
    index_hash: string;
    git_commit: string;
    pages: PageInfo[];
    communities: CommunityInfo[];
    project: ProjectOverview;
    modules: ModuleMetadata[];
    oldManifest?: WikiManifest | WikiManifestV2;
    degradedReasons?: string[];
    modules_truncated?: boolean;
    truncation_reason?: "module_count_cap" | "token_budget";
}
export declare function buildWikiManifestV2(options: BuildWikiManifestV2Options): WikiManifestV2;
/** V1 writer — preserved for rollback (CODESIFT_WIKI_V1=1). Same shape as
 *  the legacy buildWikiManifest that used to live in wiki-manifest.ts. */
export interface BuildWikiManifestV1Options {
    index_hash: string;
    git_commit: string;
    pages: PageInfo[];
    communities: CommunityInfo[];
    oldManifest?: WikiManifest;
    degradedReasons?: string[];
}
export declare function buildWikiManifestV1(options: BuildWikiManifestV1Options): WikiManifest;
//# sourceMappingURL=wiki-module-builder.d.ts.map