import type { PiExecApi } from "../types.js"; export declare const ENVIRONMENT_MANIFEST = "pi-sync-environment.json"; export declare const ENVIRONMENT_IGNORE_FILE = "pi-sync-environment-ignore.json"; export type EnvironmentPackageManager = "npm" | "pi"; export type EnvironmentPackageStatus = "installed" | "missing" | "ignored" | "unknown"; export interface EnvironmentPackageSpec { manager: EnvironmentPackageManager; name: string; spec: string; } export interface EnvironmentRestorePlan { manifestPath: string; ignorePath: string; packages: EnvironmentPackageSpec[]; entries: Array; } export declare function loadEnvironmentPackages(piDir: string): Promise; export declare function planEnvironmentRestore(pi: PiExecApi, piDir: string): Promise; export declare function installMissingEnvironmentPackages(pi: PiExecApi, plan: EnvironmentRestorePlan): Promise; export declare function installEnvironmentPackages(pi: PiExecApi, packages: EnvironmentPackageSpec[]): Promise; export declare function ignoreEnvironmentPackage(piDir: string, item: EnvironmentPackageSpec): Promise; export declare function clearIgnoredEnvironmentPackages(piDir: string): Promise; export declare function loadIgnoredEnvironmentPackages(piDir: string): Promise>; export declare function formatEnvironmentRestorePlan(plan: EnvironmentRestorePlan): string; export declare function missingEnvironmentCount(plan: EnvironmentRestorePlan): number; export declare function environmentPackageKey(item: EnvironmentPackageSpec): string;