import { type ImageApiClient, type ChildSpawner, type HostOps, type BakeRunnerLogger } from "./runner.js"; interface RunnerEnv { imageApiBase: string; token: string; runnerId: string; recipeRef: string; buildShPath: string; recipeDir: string; dataDir: string; heartbeatMs: number; idlePollMs: number; minFreeGb: number; } declare function loadEnv(): RunnerEnv; /** The real image-api HTTP client. Authenticates claim/heartbeat with the runner bearer; ingest additionally * carries the per-bake ingest secret header (so image-api can reject a stale/rogue runner — §P2.4e). */ declare function makeApiClient(env: RunnerEnv, log: BakeRunnerLogger): ImageApiClient; /** The real child spawner: `setsid`-style detached process GROUP so a cancel/deadline kill signals the whole tree * (channel-close / a plain kill of the immediate child does NOT stop a detached build — §P2.11). */ declare function makeSpawner(): ChildSpawner; /** The real host ops: fs manifest read, df /data, recipe checkout, and the thin docker-push big-blob retry. */ declare function makeHostOps(env: RunnerEnv): HostOps; declare function main(): Promise; export { main, loadEnv, makeApiClient, makeSpawner, makeHostOps }; //# sourceMappingURL=main.d.ts.map