import type { NpmPackageInstallationLocation } from '../npm/buildNpmPackageInstallCommand'; /** * Npm packages which directly provide the `ptbk` executable. * * `ptbk` is the preferred package and forwards to `@promptbook/cli`; the latter can also be installed directly. * * @private internal utility of `promptbookCli` */ export declare const PROMPTBOOK_CLI_NPM_PACKAGE_NAMES: readonly ["ptbk", "@promptbook/cli"]; /** * Npm package which directly provides the `ptbk` executable. * * @private internal utility of `promptbookCli` */ export type PromptbookCliNpmPackageName = (typeof PROMPTBOOK_CLI_NPM_PACKAGE_NAMES)[number]; /** * Place where one Promptbook CLI package is installed. * * @private internal utility of `promptbookCli` */ export type PromptbookCliInstallationLocation = NpmPackageInstallationLocation; /** * Fields shared by local and global Promptbook CLI installations. * * @private internal utility of `PromptbookCliInstallation` */ type PromptbookCliInstallationBase = { /** * Npm package that provides the CLI. */ readonly npmPackageName: PromptbookCliNpmPackageName; /** * Version from the installed package's `package.json`. */ readonly installedVersion: string; }; /** * One directly declared local Promptbook CLI installation. * * @private internal utility of `promptbookCli` */ export type LocalPromptbookCliInstallation = PromptbookCliInstallationBase & { /** * Local manifest section containing the package. */ readonly installationLocation: Exclude; /** * Project directory containing the `package.json` which declares the package. */ readonly projectPath: string; }; /** * One directly installed global Promptbook CLI package. * * @private internal utility of `promptbookCli` */ export type GlobalPromptbookCliInstallation = PromptbookCliInstallationBase & { readonly installationLocation: 'global'; }; /** * One local or global Promptbook CLI package that can be updated. * * @private internal utility of `promptbookCli` */ export type PromptbookCliInstallation = LocalPromptbookCliInstallation | GlobalPromptbookCliInstallation; export {};