/**
 * Polling Service for Code Quality Orchestrator
 * Handles rule execution scheduling and coordination
 */
import { EventEmitter } from "node:events";
import type { IPollingService, IStorageService, RuleCheckResult } from "./interfaces.js";
import type { RuleSchedule } from "../database/types.js";
export declare class PollingService extends EventEmitter implements IPollingService {
    private storageService;
    private isActive;
    private isPaused;
    private pollingInterval;
    private activeChecks;
    private defaultFrequencyMs;
    private maxConcurrentChecks;
    private pollingIntervalMs;
    constructor(storageService: IStorageService);
    start(): Promise<void>;
    stop(): Promise<void>;
    pause(): Promise<void>;
    resume(): Promise<void>;
    isRunning(): boolean;
    scheduleRule(rule: string, engine: "typescript" | "eslint", frequencyMs?: number): Promise<void>;
    unscheduleRule(rule: string, engine: "typescript" | "eslint"): Promise<void>;
    getScheduledRules(): Promise<RuleSchedule[]>;
    executeRule(rule: string, engine: "typescript" | "eslint"): Promise<RuleCheckResult>;
    executeNextRules(maxConcurrent?: number): Promise<RuleCheckResult[]>;
    setDefaultFrequency(frequencyMs: number): void;
    setMaxConcurrentChecks(max: number): void;
    enableAdaptivePolling(enabled: boolean): void;
    private executePollCycle;
    private performRuleCheck;
    private simulateRuleExecution;
}
/**
 * Get or create polling service instance
 */
export declare function getPollingService(storageService: IStorageService): PollingService;
/**
 * Reset polling service instance (useful for testing)
 */
export declare function resetPollingService(): void;
//# sourceMappingURL=polling-service.d.ts.map