import { ToolResult, FileInfo } from '../types.js'; export interface WorkspaceInfo { path: string; exists: boolean; current: boolean; } export interface WorkspaceMetadata { path: string; projectType: string; languages: string[]; dependencies: Record; structure: FileInfo[]; statistics: { totalFiles: number; codeFiles: number; directories: number; size: number; }; gitInfo?: { isRepository: boolean; branch?: string; remotes?: string[]; }; lastModified: string; packageInfo?: Record; } export declare class WorkspaceService { workspacePath: string; workspaceHistory: string[]; private workspaceMetadata; private favoriteWorkspaces; private workspaceBookmarks; constructor(); /** * Get current workspace path */ getWorkspace(): Promise; /** * Set the active workspace directory (synchronous) */ setWorkspace(newPath: string): boolean; /** * List recently used workspaces */ listWorkspaces(): Promise; /** * Resolve path relative to workspace */ resolvePath(filePath: string): string; /** * Get current workspace path */ getCurrentWorkspace(): string; /** * Validate if a path is a valid workspace directory */ validateWorkspace(workspacePath: string): boolean; /** * Check if a path is within the current workspace */ isWithinWorkspace(filePath: string): boolean; /** * Get relative path from workspace root */ getRelativePath(fullPath: string): string; /** * Validate that a path is safe and within workspace */ validatePath(filePath: string): void; /** * List workspace history as a tool result */ listWorkspaceHistory(): Promise; /** * Get comprehensive workspace information */ getWorkspaceInfo(): Promise; /** * Change workspace to a new path */ changeWorkspace(args: { path: string; }): Promise; /** * Get comprehensive workspace metadata including project type, files, and structure */ getWorkspaceMetadata(workspacePath?: string): Promise; /** * Generate comprehensive workspace metadata */ private _generateWorkspaceMetadata; /** * Detect project type based on configuration files */ private _detectProjectType; /** * Analyze file structure and collect statistics */ private _analyzeFileStructure; /** * Get Git repository information */ private _getGitInfo; /** * Check if file extension indicates a code file */ private _isCodeFile; /** * Detect programming language from file extension */ private _detectLanguageFromExtension; /** * Smart workspace initialization - detect VS Code workspaces and offer choice */ smartInitializeWorkspace(): Promise; /** * Detect programming language from file extension */ private detectLanguage; } //# sourceMappingURL=WorkspaceService.d.ts.map