import { ProjectConfiguration, CreateNodesContextV2 } from '@nx/devkit';
import { PackageJson } from 'pkg-types';

declare function getProjectPlatform(project: ProjectConfiguration, ignoreTags?: boolean): "node" | "neutral" | "browser" | "worker";
declare function getProjectConfigFromProjectJsonPath(projectJsonPath: string, packageJson: PackageJson): ProjectConfiguration;
declare function getProjectConfigFromProjectRoot(projectRoot: string, packageJson: PackageJson): ProjectConfiguration;
/**
 * Get the project root directory from the config file path.
 *
 * @remarks
 * This path does not include the `workspaceRoot`.
 *
 * @param configPath The path to the project config file.
 * @param workspaceRoot The root directory of the workspace.
 * @returns The project root directory or null if not found.
 */
declare function getProjectRoot(configPath: string, workspaceRoot: string): string | null;
declare function getRoot(projectRoot: string, context: CreateNodesContextV2): string;

export { getProjectConfigFromProjectJsonPath, getProjectConfigFromProjectRoot, getProjectPlatform, getProjectRoot, getRoot };
