import { Logger } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import { DataSource, ScheduledJobRepository, ScheduledTaskRepository } from '@n8n/db'; import type { RunInTransaction, Scheduler, TaskHandler } from '@n8n/scheduler'; import { InstanceSettings, Tracing } from 'n8n-core'; import { PrometheusSchedulerMetricsService } from '../metrics/prometheus/scheduler-metrics.service'; import { PollTriggerTaskHandler } from './poll-trigger-node/poll-trigger-task-handler'; import { ScheduleTriggerTaskHandler } from './schedule-trigger-node/schedule-trigger-task-handler'; export declare class DurableScheduler implements Scheduler { private readonly logger; private readonly scheduler; constructor(logger: Logger, dataSource: DataSource, jobs: ScheduledJobRepository, tasks: ScheduledTaskRepository, instanceSettings: InstanceSettings, globalConfig: GlobalConfig, tracing: Tracing, scheduleTriggerTaskHandler: ScheduleTriggerTaskHandler, pollTriggerTaskHandler: PollTriggerTaskHandler, metrics: PrometheusSchedulerMetricsService); registerTaskHandler(taskType: string, handler: TaskHandler): void; start(): void; stop(): Promise; } export declare function buildMaterializerTransaction(dataSource: DataSource, jobs: ScheduledJobRepository, tasks: ScheduledTaskRepository): RunInTransaction;