import { PrometheusMetricsConfig } from '@n8n/config';
import { ScheduledTaskRepository } from '@n8n/db';
import type { SchedulerMetrics } from '@n8n/scheduler';
import { InstanceSettings } from 'n8n-core';
import { CacheService } from '../../services/cache/cache.service';
import type { PrometheusMetricsCollector } from './base';
export declare class PrometheusSchedulerMetricsService implements PrometheusMetricsCollector, SchedulerMetrics {
    private readonly config;
    private readonly instanceSettings;
    private readonly cacheService;
    private readonly taskRepository;
    private initialized;
    private tasksDispatched;
    private tasksCompleted;
    private taskRetries;
    private occurrencesMaterialized;
    private jobsDeferred;
    private tasksReclaimed;
    private tasksDeadLettered;
    private tasksPruned;
    private dispatchLagSeconds;
    constructor(config: PrometheusMetricsConfig, instanceSettings: InstanceSettings, cacheService: CacheService, taskRepository: ScheduledTaskRepository);
    get enabled(): boolean;
    init(): void;
    private initPushMetrics;
    private initSnapshotGauges;
    recordDispatch(taskType: string): void;
    recordFireOutcome(taskType: string, result: 'success' | 'failure'): void;
    recordRetry(taskType: string): void;
    observeDispatchLagSeconds(taskType: string, seconds: number): void;
    recordMaterialized(occurrences: number, deferredJobs: number): void;
    recordReaped(reclaimed: number, deadLettered: number): void;
    recordDeadLettered(): void;
    recordPruned(deleted: number): void;
}
