export declare const LAB_APP_RUNNER_PLAN_SCHEMA = "humanish.lab-app-runner-plan.v1"; export type LabAppFramework = "next" | "vite" | "generic" | "none"; export type LabPackageManager = "npm" | "pnpm" | "yarn" | "bun"; export type LabInstallMode = "run" | "skip" | "when-missing"; export type LabSurfaceKind = "desktop" | "mobile"; export interface LabPackageJsonMetadata { dependencies?: Record; devDependencies?: Record; packageManager?: string; scripts?: Record; } export interface LabAppRunnerMetadata { dependencies?: Record; devDependencies?: Record; hasNodeModules?: boolean; lockfiles?: string[]; packageJson?: LabPackageJsonMetadata; packageManager?: string; preferredPort?: number; readinessIntervalMs?: number; readinessTimeoutMs?: number; scripts?: Record; } export interface LabAppRunnerInstallPlan { command: string; mode: LabInstallMode; reason: string; } export interface LabAppRunnerDevServerPlan { command: string; framework: Exclude; port: number; reason: string; scriptName: string; url: string; } export interface LabAppRunnerReadinessPlan { command: string; intervalMs: number; timeoutMs: number; url: string; } export interface LabAppSurface { command: string; id: LabSurfaceKind; label: string; url: string; viewport: { deviceScaleFactor: number; height: number; isMobile: boolean; width: number; }; } export interface LabAppRunnerShellPlan { commands: string[]; script: string; } export interface LabAppRunnerPlan { devServer?: LabAppRunnerDevServerPlan; framework: LabAppFramework; install: LabAppRunnerInstallPlan; ok: boolean; packageManager: LabPackageManager; readiness?: LabAppRunnerReadinessPlan; schema: typeof LAB_APP_RUNNER_PLAN_SCHEMA; shell: LabAppRunnerShellPlan; surfaces: LabAppSurface[]; warnings: string[]; } export declare function buildLabAppRunnerPlan(metadata: LabAppRunnerMetadata): LabAppRunnerPlan; export declare function renderLabAppRunnerShell(args: { devServer?: LabAppRunnerDevServerPlan; install: LabAppRunnerInstallPlan; packageManager: LabPackageManager; readiness?: LabAppRunnerReadinessPlan; surfaces?: LabAppSurface[]; }): LabAppRunnerShellPlan;