/**
 * @fileoverview Service module for managing scheduled job lifecycle
 * @module MJServer/services
 */
import { ScheduledJobsConfig } from '../config.js';
/**
 * Service for managing scheduled jobs lifecycle
 * Handles initialization, starting/stopping polling, and graceful shutdown
 */
export declare class ScheduledJobsService {
    private engine;
    private systemUser;
    private isRunning;
    private config;
    constructor(config: ScheduledJobsConfig);
    /**
     * Initialize the scheduled jobs service
     * Loads metadata and prepares the engine
     */
    Initialize(): Promise<void>;
    /**
     * Start the scheduled jobs polling
     */
    Start(): Promise<void>;
    /**
     * Stop the scheduled jobs polling gracefully
     */
    Stop(): Promise<void>;
    /**
     * Get the system user for job execution
     * Uses the email configured in scheduledJobs.systemUserEmail
     */
    private getSystemUser;
    /**
     * Get current service status
     */
    GetStatus(): {
        enabled: boolean;
        running: boolean;
        activeJobs: number;
        pollingInterval: number;
    };
    /**
     * Check if service is enabled in configuration
     */
    get IsEnabled(): boolean;
    /**
     * Check if service is currently running
     */
    get IsRunning(): boolean;
}
//# sourceMappingURL=ScheduledJobsService.d.ts.map