export interface JobEntry { id: string; strategy: string; exchange: string; params: Record; tmuxSession: string; pid?: number; startedAt: string; status: "running" | "stopped" | "done" | "error"; result?: Record; } export declare function logFile(id: string): string; export declare function saveJob(job: JobEntry): void; export declare function loadJob(id: string): JobEntry | null; export declare function listJobs(): JobEntry[]; /** * Start a job in a tmux background session. * Returns the job entry. */ export declare function startJob(opts: { strategy: string; exchange: string; params: Record; cliArgs: string[]; }): JobEntry; /** * Stop a running job. */ export declare function stopJob(id: string): boolean; /** * Update job state file (called from within the running job). */ export declare function updateJobState(id: string, data: Partial): void; /** * Remove a job entry. */ export declare function removeJob(id: string): boolean;