import { type OsBackend, type ScheduleAddOptions, type ScheduleJob } from "./types.js"; export declare function validateScheduleId(id: string): boolean; /** * Resolve the absolute path of the `omp` wrapper to write into OS entries. * The dist `.js` (process.argv[1]) is a last resort because launchd/cron need * the executable wrapper, not the script. */ export declare function resolveOmpBinPath(): string; export interface AddResult { ok: boolean; job?: ScheduleJob; backend?: OsBackend; messages: string[]; error?: string; } export declare function addScheduleJob(stateCwd: string, opts: ScheduleAddOptions): AddResult; export interface JobView extends ScheduleJob { osInstalled: boolean; } export declare function listScheduleJobs(stateCwd: string): JobView[]; export interface RemoveResult { removed: boolean; uninstalled: boolean; } export declare function removeScheduleJob(stateCwd: string, id: string): RemoveResult; export interface StatusView { job?: ScheduleJob; osInstalled: boolean; } export declare function getScheduleStatus(stateCwd: string, id: string): StatusView; export interface OpenResult { ok: boolean; job?: ScheduleJob; /** Full captured output of the latest run (contents of job.lastLogPath), if present. */ logContent?: string; error?: string; } /** * Resolve a job's latest run for `omp schedule open ` — the by-id substitute * for clicking a notification: returns the job plus the full captured log so the * caller can surface the latest scan with full context. Read-only; never throws. */ export declare function openScheduleResult(stateCwd: string, id: string): OpenResult; /** Run handler entry used by `omp schedule run|run-now`. Missing job → clean no-op (exit 0). */ export declare function runScheduleById(stateCwd: string, id: string): Promise<{ ok: boolean; message: string; }>;