import type { FileSystem } from "../../ports/filesystem.js"; import type { GitClient } from "../../ports/git.js"; import { GitFileQuery } from "./git-files.js"; import type { McpPolicyRefusal } from "../policy.js"; export declare class StructuralMapRequest { readonly directory: string; readonly depth: number | null; readonly summary: boolean; constructor(args: Record, projectRoot: string); toGitFileQuery(projectRoot: string): GitFileQuery; } export declare class StructuralMapSymbol { readonly name: string; readonly kind: string; readonly signature?: string; readonly exported: boolean; readonly startLine?: number; readonly endLine?: number; constructor(opts: { name: string; kind: string; signature?: string; exported: boolean; startLine?: number; endLine?: number; }); } export declare class StructuralMapFile { readonly path: string; readonly lang: string; readonly symbolCount: number; readonly summaryOnly: boolean; readonly symbols?: readonly StructuralMapSymbol[]; constructor(opts: { path: string; lang: string; symbolCount: number; summaryOnly: boolean; symbols?: readonly StructuralMapSymbol[]; }); } export declare class StructuralMapDirectory { readonly path: string; readonly fileCount: number; readonly symbolCount: number; readonly childDirectoryCount: number; readonly summaryOnly: true; constructor(opts: { path: string; fileCount: number; symbolCount: number; childDirectoryCount: number; }); } export declare class StructuralMapMode { readonly depth: number | null; readonly summary: boolean; constructor(opts: { depth: number | null; summary: boolean; }); } export declare function buildSummary(opts: { returnedFileCount: number; totalSymbolCount: number; summarizedDirectoryCount: number; depth: number | null; summary: boolean; }): string; export interface StructuralMapCollectionResult { readonly files: StructuralMapFile[]; readonly directories: StructuralMapDirectory[]; readonly refused: McpPolicyRefusal[]; readonly totalSymbols: number; } export declare function collectStructuralMap(request: StructuralMapRequest, opts: { readonly projectRoot: string; readonly fs: FileSystem; readonly git: GitClient; readonly refusalCheck: (filePath: string, actual: { lines: number; bytes: number; }) => McpPolicyRefusal | null; }): Promise; //# sourceMappingURL=map-collector.d.ts.map