import type { PackageConfig } from "./config.js"; export interface IndexEntry { symbol: string; kind: "class" | "interface" | "struct" | "enum" | "record" | "method"; parentType?: string; baseTypes?: string[]; generics?: string; modifiers?: string; refCount?: number; filePath: string; } export interface FileReference { filePath: string; count: number; } /** * Generate overview markdown for a package. * Reads doc files and scans .cs files for key types (interfaces, abstract classes). */ export declare function extractOverview(repoDir: string, pkg: PackageConfig): Promise; /** * Generate stripped .cs signature files for a package. * Returns array of { filePath, content } sorted by path. * File paths are relative to the package directory. */ export declare function extractSignatures(repoDir: string, pkg: PackageConfig): Promise>; /** * Build a symbol index for a package: all type and method declarations. * Returns entries sorted by symbol name. */ export declare function extractIndex(repoDir: string, pkg: PackageConfig): Promise; export declare function computeRefCounts(entries: IndexEntry[]): void; /** * Extract a one-line summary from a package's .csproj metadata. * Returns `` + `(tags: )` if present. */ export declare function extractPackageSummary(repoDir: string, pkg: PackageConfig): Promise; /** * Serialize index entries to flat pipe-delimited format. * Types: `symbol|kind|filePath[|bases[|generics[|modifiers]]]` * Methods: `symbol|method|parentType|filePath` */ export declare function serializeIndex(entries: IndexEntry[]): string; /** * Parse flat pipe-delimited index back into entries. */ export declare function parseIndex(raw: string): IndexEntry[]; export declare function cleanSignatureOutput(stripped: string): string; export declare function stripCsBody(source: string): string; export declare function splitRespectingGenerics(text: string): string[]; export declare function formatEntryDisplay(e: IndexEntry): { displayName: string; kindLabel: string; }; export declare function scoreSymbolMatch(symbol: string, keyword: string): number; export declare function filterCsFiles(files: string[]): string[]; export declare function countReferences(source: string, keyword: string): number; export declare function searchReferences(repoDir: string, pkg: PackageConfig, keyword: string, maxFiles?: number): Promise; //# sourceMappingURL=sourceExtractor.d.ts.map