/**
 * Jobs CRUD — enqueue, progress, complete, block, cancel.
 *
 * Claim/release lives in claim-lock.ts (atomic path).
 * DAG promotion lives in dag.ts (runs after status changes).
 */
import type { WorkforceDb, Job, JobStatus, EnqueueJobInput } from './types.js';
import type { Claim } from './types.js';
export declare function enqueueJob(db: WorkforceDb, input: EnqueueJobInput): Job;
export declare function getJob(db: WorkforceDb, id: string): Job | null;
export declare function listJobs(db: WorkforceDb, status?: JobStatus, limit?: number, companyId?: string): Job[];
export declare function claimNextReady(db: WorkforceDb, workerId: string, leaseMs?: number): Claim | null;
export declare function advanceToWip(db: WorkforceDb, jobId: string, workerId: string): void;
export declare function recordTokens(db: WorkforceDb, jobId: string, workerId: string, tokens: number): void;
export declare function advanceToReview(db: WorkforceDb, jobId: string, workerId: string): void;
export declare function completeJob(db: WorkforceDb, jobId: string, workerId: string): Job | null;
export declare function failJob(db: WorkforceDb, jobId: string, workerId: string): Job | null;
export declare function blockJob(db: WorkforceDb, jobId: string, workerId: string): Job | null;
export declare function cancelJob(db: WorkforceDb, jobId: string): void;
