import { isString } from "@sindresorhus/is";
//#region lib/util/exec/types.ts
/**
* A `tool` that Containerbase supports.
*
* TODO #41849 replace with upstream types
*/
const toolNames = [
	"bazelisk",
	"bun",
	"bundler",
	"cocoapods",
	"composer",
	"conan",
	"copier",
	"corepack",
	"devbox",
	"dotnet",
	"erlang",
	"elixir",
	"flux",
	"gleam",
	"golang",
	"gradle",
	"hashin",
	"helm",
	"helmfile",
	"java",
	"java-maven",
	"jb",
	"kustomize",
	"maven",
	"nix",
	"node",
	"npm",
	"pdm",
	"php",
	"pip-tools",
	"pipenv",
	"pnpm",
	"pixi",
	"poetry",
	"python",
	"ruby",
	"rust",
	"uv",
	"yarn",
	"yarn-slim",
	"dart",
	"flutter",
	"vendir"
];
function isToolName(value) {
	return isString(value) && toolNames.includes(value);
}
/**
* Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports.
*/
const additionalConstraintNames = [
	"go",
	"gomodMod",
	"jenkins",
	"pipTools"
];
function isAdditionalConstraintName(value) {
	return isString(value) && additionalConstraintNames.includes(value);
}
function isConstraintName(value) {
	return isToolName(value) || isAdditionalConstraintName(value);
}
//#endregion
export { isAdditionalConstraintName, isConstraintName, isToolName };

//# sourceMappingURL=types.js.map