import { CDPConnectionService } from '../cdp/cdp-connection.service.js'; import { TracingService } from '../cdp/tracing.service.js'; import { ScenarioRunnerService } from '../recorder/scenario-runner.service.js'; import { ConfigService } from '../services/config.service.js'; import { RulesService } from '../rules/rules.service.js'; import { RollingWindowService } from './rolling-window.service.js'; import type { IMonitorService, MonitorOptions, RollingMetrics, ViolationHandler } from './interfaces/monitor.interface.js'; export declare class MonitorService implements IMonitorService { private readonly cdpConnection; private readonly tracingService; private readonly scenarioRunner; private readonly configService; private readonly rulesService; private readonly rollingWindow; private monitoring; private pollTimer; private violationHandlers; private rules; private frameBudgetMs; constructor(cdpConnection: CDPConnectionService, tracingService: TracingService, scenarioRunner: ScenarioRunnerService, configService: ConfigService, rulesService: RulesService, rollingWindow: RollingWindowService); start(options: MonitorOptions): Promise; stop(): Promise; isMonitoring(): boolean; getMetrics(): RollingMetrics; onViolation(handler: ViolationHandler): void; offViolation(handler: ViolationHandler): void; private navigateToUrl; private runScenarioLoop; private startTraceCollection; private startPolling; private collectAndEvaluateMetrics; private extractFrameMetrics; private evaluateRules; private getTriggeredThreshold; private notifyViolation; private delay; }