/** * MonorepoProject Entity * Represents a monorepo project structure */ import { FilePath } from '../value-objects/FilePath'; export declare enum PackageManager { PNPM = "pnpm", NPM = "npm", YARN = "yarn", LERNA = "lerna", NX = "nx", TURBOREPO = "turborepo", UNKNOWN = "unknown" } export interface WorkspaceProps { name: string; path: FilePath; type?: string; description?: string; } export declare class Workspace { private readonly name; private readonly path; private readonly type?; private readonly description?; constructor(props: WorkspaceProps); getName(): string; getPath(): FilePath; getType(): string | undefined; getDescription(): string | undefined; containsFile(file: FilePath): boolean; } export interface MonorepoProjectProps { rootPath: FilePath; name: string; packageManager: PackageManager; workspaces: Workspace[]; } export declare class MonorepoProject { private readonly rootPath; private readonly name; private readonly packageManager; private readonly workspaces; constructor(props: MonorepoProjectProps); getRootPath(): FilePath; getName(): string; getPackageManager(): PackageManager; getWorkspaces(): Workspace[]; isMonorepo(): boolean; getWorkspaceCount(): number; findWorkspaceByName(name: string): Workspace | undefined; findWorkspaceByPath(path: FilePath): Workspace | undefined; getAffectedWorkspaces(changedFiles: FilePath[]): Workspace[]; hasWorkspace(name: string): boolean; withWorkspace(workspace: Workspace): MonorepoProject; withoutWorkspace(name: string): MonorepoProject; } //# sourceMappingURL=MonorepoProject.d.ts.map