/** * Launchd Manager - macOS native scheduling via launchd * Zero dependencies - uses launchctl binary commands * macOS only - does NOT require Full Disk Access (unlike cron) */ export interface LaunchdCalendarInterval { Minute?: number; Hour?: number; Day?: number; Month?: number; Weekday?: number; } export declare class LaunchdManager { private readonly launchAgentsDir; private static readonly LABEL_PREFIX; constructor(); /** * Get helpful error message for launchd issues */ private getLaunchdErrorMessage; /** * Convert cron expression to launchd calendar interval * Cron format: minute hour day month weekday */ private cronToCalendarInterval; /** * Get the full path to node executable */ private getNodePath; /** * Create launchd plist for a job */ private createPlist; /** * Get plist file path for a job */ private getPlistPath; /** * Get launchd label for a job */ private getLabel; /** * Add a scheduled job using launchd */ addJob(jobId: string, cronExpression: string, command: string): void; /** * Remove a scheduled job */ removeJob(jobId: string): void; /** * Get all scheduled NCP jobs from launchd * Lists all launchd agents with our label prefix */ getJobs(): Array<{ id: string; cronExpression: string; command: string; }>; /** * Setup automatic catchup agent * Runs at login and periodically to execute missed tasks */ setupAutoCatchup(ncpPath: string): void; /** * Remove automatic catchup agent */ removeAutoCatchup(): void; } //# sourceMappingURL=launchd-manager.d.ts.map