///
import { FSWatcher } from 'fs';
import { IPluginManager, KeyIn, Tag } from '@sap/artifact-management-base-types';
import ProjectApi from './ProjectApi';
import WorkspaceApi from './WorkspaceApi';
export default class NodeWorkspace implements WorkspaceApi {
workspaceFolders: string[] | undefined;
workspaceWatcher?: FSWatcher;
workspaceChangeHandler?: (event: string, folders: string[]) => void;
private readModuleAsProject;
private path;
private watchManager;
private readers;
constructor(path: string, readModuleAsProject: boolean);
getWorksapceFolders(): Promise;
private getSubFolders;
getProjects(tag?: KeyIn, path?: string, shallow?: boolean): Promise;
getProject(path: string, useHeadlessGenerator?: boolean): Promise;
private getProjectsAllLevels;
getProjectUris(): Promise;
startWatch(): void;
stopWatch(): void;
onWorkspaceChanged(handler: (event: string, folders: string[]) => void): void;
getPluginManager(): IPluginManager;
}