import type { RuntimeDecisionReport, RuntimeReadinessDecision } from './decision-types.js'; export interface OrchestrateRuntimeUpOptions { decide: () => Promise; onInstall: (report: T) => Promise; onLaunch: (report: T) => Promise; onReady: (report: T) => Promise; onBlocked?: (report: T) => Promise; /** Shared flag — set true after first install attempt to prevent loops. */ installAttempted?: { value: boolean; }; } export interface OrchestrateRuntimeUpResult { report: T; exitDecision: RuntimeReadinessDecision; } /** * Generic install → relaunch decision loop for product runners. * Hosts supply shell/platform actions via onInstall/onLaunch/onReady callbacks. */ export declare function orchestrateRuntimeUp(options: OrchestrateRuntimeUpOptions): Promise>; //# sourceMappingURL=orchestrate-up.d.ts.map