import type { OsBackend, ScheduleJob } from "./types.js"; export interface DetectOptions { platform?: NodeJS.Platform; hasSystemctl?: boolean; } /** Pick the native backend for this host. Inputs are injectable for testing. */ export declare function detectOsBackend(opts?: DetectOptions): OsBackend; export interface InstallResult { backend: OsBackend; installed: boolean; } /** * Install the OS-scheduler entry for a job. On launchd, a cron expression that * StartCalendarInterval cannot express falls back to crontab — the chosen * backend is returned so the caller can persist it on the job. */ export declare function installJob(job: ScheduleJob, logsDir: string, stateRoot: string, opts?: DetectOptions): InstallResult; /** Uninstall by the job's recorded backend. Idempotent — never throws if absent. */ export declare function uninstallJob(id: string, backend: OsBackend): void; export declare function getInstalledStatus(id: string, backend: OsBackend): boolean;