/** * Cross-Platform Cron Service * * Manages scheduled tasks for PR polling on Windows, macOS, and Linux. * - Linux/macOS: Uses crontab * - Windows: Uses Task Scheduler (schtasks) */ import type { ICronService, ICronJobConfig, ICronConfig, ICronResult, CronPlatform, CronStatus } from '../../domain/interfaces/ICronService'; /** * Clear the cached lisa path (for testing). */ export declare function clearLisaPathCache(): void; /** * Options for CronService. */ export interface ICronServiceOptions { /** Custom path for config file (for testing) */ configPath?: string; } /** * Cross-platform cron service implementation. */ export declare class CronService implements ICronService { private readonly configPath; constructor(options?: ICronServiceOptions); /** * Get the current platform's cron implementation. */ getPlatform(): CronPlatform; /** * Check if cron job is currently installed. */ isInstalled(): Promise; /** * Install the cron job. */ install(config: ICronJobConfig): Promise; /** * Uninstall the cron job. */ uninstall(): Promise; /** * Get the current cron configuration from ~/.lisa/config.json. */ getConfig(): Promise; /** * Save cron configuration to ~/.lisa/config.json. */ saveConfig(cronConfig: ICronConfig): Promise; /** * Remove cron configuration from ~/.lisa/config.json. */ removeConfig(): Promise; /** * Get manual installation instructions for the current platform. */ getManualInstructions(config: ICronJobConfig): string; /** * Check if Lisa cron job is in crontab. */ private isCrontabInstalled; /** * Install Lisa cron job to crontab. */ private installCrontab; /** * Uninstall Lisa cron job from crontab. */ private uninstallCrontab; /** * Check if Lisa task is in Windows Task Scheduler. */ private isWindowsTaskInstalled; /** * Install Lisa task to Windows Task Scheduler. */ private installWindowsTask; /** * Uninstall Lisa task from Windows Task Scheduler. */ private uninstallWindowsTask; } /** * Create a new CronService instance. */ export declare function createCronService(): ICronService; //# sourceMappingURL=CronService.d.ts.map