import { ContainerJobConfig, ContainerJobResult, ContainerRuntimeInfo, CleanupOrphansResult, OrphanJobInfo } from "./types.js"; import { type ContainerClient } from "./client.js"; export { userMappingFlags, _setCurrentHostIdsForTesting } from "./runtime.js"; /** * Run a one-shot helper container to completion, streaming progress. * dockerode replaces the former `run --rm` CLI: create with * `AutoRemove: true`, start, follow the demuxed log stream line-wise into * the progress callbacks, then `wait()` for the exit code. */ export declare function runJob(runtime: ContainerRuntimeInfo, config: ContainerJobConfig, client?: ContainerClient): Promise; /** * Build an `OrphanJobInfo` from a dockerode container summary, or null if * it isn't ours. Labels come back as a structured object (no decoding * needed — the API never percent-encodes them). * * Exposed for unit tests. */ export declare function orphanFromContainer(c: { Names?: string[]; Image?: string; Labels?: Record; }, ownerPluginId: string): OrphanJobInfo | null; /** * Find every `sk-job-*` container labelled with the given `ownerPluginId`, * force-remove each, and return the list so the caller can roll back any * persistent state tied to those jobs. * * Used by consumer plugins on `start()` to clean up after a Signal K crash * that left helper containers running with no parent listener. */ export declare function cleanupOrphanedJobs(runtime: ContainerRuntimeInfo, ownerPluginId: string, client?: ContainerClient): Promise; //# sourceMappingURL=jobs.d.ts.map