import { spawnSync } from "node:child_process"; import { type AgentNativePackageManifest } from "../package-lifecycle/manifest.js"; export interface PackageLifecycleIO { out(message: string): void; err(message: string): void; } export interface LoadedLifecyclePackage { manifest: AgentNativePackageManifest; packageVersion: string; packageDir: string; packageJson: Record; cleanup?: () => void; } export interface PackageLifecycleRuntime { cwd?: string; io?: PackageLifecycleIO; loadPackage?: (name: string, cwd: string) => Promise; spawn?: typeof spawnSync; } interface Change { path: string; action: "create" | "update" | "noop"; kind: "dependency" | "action" | "schema" | "skill" | "provenance" | "eject" | "workspace"; content?: string | Buffer; } export interface PackageLifecycleReport { command: "inspect" | "add" | "eject"; package: string; packageVersion: string; manifestVersion: number; targetRoot: string; layout: "standalone" | "workspace-app" | "workspace-root"; apply: boolean; compatible: boolean; contributions: { actions: string[]; schemaEntryPoint: string; skills: string[]; requiredSecretKeys: string[]; peerProviders: string[]; }; changes: Array>; collisions: string[]; warnings: string[]; } export declare function runPackageLifecycle(args: string[], runtime?: PackageLifecycleRuntime): Promise; export declare function packageLifecycleUsage(): string; export declare function loadLifecyclePackage(name: string, cwd: string, spawn?: typeof spawnSync): Promise; export {}; //# sourceMappingURL=package-lifecycle.d.ts.map