import { type ProjectGraph } from '@zhin.js/runtime'; import { type PublishJournal, type PublishJournalStore } from './publish-journal.js'; export type CommandPhase = 'build' | 'publish' | 'promote' | 'cleanup'; export interface CommandStep { readonly id: string; readonly packageName: string; readonly version?: string; readonly phase: CommandPhase; readonly tag?: string; readonly cwd: string; readonly command: string; readonly args: readonly string[]; } export interface ProjectPlan { readonly kind: 'build' | 'publish'; readonly id?: string; readonly mode?: 'dry-run' | 'execute'; readonly targetTag?: string; readonly stagingTag?: string; readonly steps: readonly CommandStep[]; } export interface ProcessRunner { run(step: CommandStep): Promise; probe?(step: CommandStep): Promise<'complete' | 'incomplete' | 'unknown'>; } export declare class NodeProcessRunner implements ProcessRunner { run(step: CommandStep): Promise; probe(step: CommandStep): Promise<'complete' | 'incomplete' | 'unknown'>; } export declare class ProjectCommands { inspect(root: string): Promise; buildPlan(graph: ProjectGraph): ProjectPlan; publishPlan(graph: ProjectGraph, options?: boolean | { readonly execute?: boolean; readonly tag?: string; }): ProjectPlan; execute(plan: ProjectPlan, runner: ProcessRunner): Promise; executePublish(plan: ProjectPlan, runner: ProcessRunner, store: PublishJournalStore, options?: { readonly resume?: boolean; }): Promise; describe(graph: ProjectGraph): unknown; } //# sourceMappingURL=project-commands.d.ts.map