import type { SandboxSubstrate } from '../_cloud_core/src/index.js'; import { type SandboxHandle, type StartResult } from '../_cloud_core/src/index.js'; /** * CLI poll budget for `/tmp/slicc-join.json` to appear after sandbox create. * * cloud-core defaults this to 60s, which is too tight for a COLD boot of the * hosted-leader image: start.sh budgets chromium cold-start alone at 60s * (SLICC_CDP_LAUNCH_TIMEOUT_MS), and node boot + tray registration push the * observed first-boot time to ~50-70s. The 60s default loses that race on the * coldest (first-after-build) boot, surfacing as a spurious SANDBOX_NOT_READY. * * The worker path deliberately keeps the tighter 60s default (its request is * wall-clock-constrained by the dashboard fetch / CF edge), but a laptop CLI * can afford to wait — so we give it generous headroom here. */ export declare const CLI_START_POLL_TIMEOUT_MS = 180000; export interface RunStartOpts { substrate: SandboxSubstrate; envFilePath: string; registryPath: string; workerBaseUrl: string; sliccVersion: string; template?: string; name?: string; pollIntervalMs?: number; pollTimeoutMs?: number; /** Test-only hook: invoked after substrate.create but before pollCloudStatus. */ onAfterCreate?: (handle: SandboxHandle) => Promise; } export declare function runStart(opts: RunStartOpts): Promise;