export type JobStatus = 'enqueued' | 'claimed' | 'started' | 'completed' | 'failed' | 'blocked';
export interface JobRecord {
    jobId: string;
    workspaceId: string;
    serviceId?: string;
    taskId?: string;
    goal: string;
    status: JobStatus;
    ownerAgentId?: string;
    blocker?: string;
    createdAt: string;
    updatedAt: string;
}
export interface JobEvent {
    jobId: string;
    workspaceId: string;
    type: JobStatus;
    summary: string;
    at: string;
}
export declare class JobLifecycleStore {
    private baseDir;
    private jobsDir;
    private eventsDir;
    constructor(workspaceId?: string);
    enqueue(goal: string, workspaceId?: string, serviceId?: string, taskId?: string): JobRecord;
    transition(jobId: string, workspaceId: string, status: JobStatus, summary: string, ownerAgentId?: string, blocker?: string): JobRecord | null;
    get(jobId: string): JobRecord | null;
    list(limit?: number): JobRecord[];
    events(jobId: string): JobEvent[];
    private save;
    private append;
}
