import * as rpc from "vscode-jsonrpc/node"; import { UUID } from "../../uuid"; /** * Response item with object ID and source file type for proper deserialization. */ export interface ParseProjectResponseItem { id: UUID; sourceFileType: string; /** * Relative source path of the discovered file. Used by the Java side to report * per-file failures (e.g., a failed `GetObject` deserialization) without aborting * the rest of the stream. Optional for older callers. */ sourcePath?: string; } /** * RPC request to parse an entire project directory. * Discovers and parses: * - JavaScript/TypeScript source files * - package.json files (with NodeResolutionResult markers) * - Lock files (package-lock.json as JSON, yarn.lock/pnpm-lock.yaml as YAML) * * Uses ProjectParser for file discovery and Prettier detection. */ export declare class ParseProject { private readonly projectPath; private readonly exclusions?; /** * Optional path to make source file paths relative to. * If not specified, paths are relative to projectPath. * Use this when parsing a subdirectory but wanting paths relative to the repository root. */ private readonly relativeTo?; constructor(projectPath: string, exclusions?: string[] | undefined, /** * Optional path to make source file paths relative to. * If not specified, paths are relative to projectPath. * Use this when parsing a subdirectory but wanting paths relative to the repository root. */ relativeTo?: string | undefined); static handle(connection: rpc.MessageConnection, localObjects: Map any) | any>, metricsCsv?: string): void; } //# sourceMappingURL=parse-project.d.ts.map