import { DatabaseConfig } from '@n8n/config'; import { DataSource } from '@n8n/typeorm'; import { PollerState } from '../entities'; import { BaseRepository } from './base-repository'; import type { PollerCursor } from '../entities/poller-state'; import type { OperationContext } from '../services/transaction'; import { TransactionRunner } from '../services/transaction'; export type { PollerCursor } from '../entities/poller-state'; export type PollLeaseFence = { taskId: string; leaseEpoch: number; }; export interface PollerFailureState { consecutiveErrors: number; backoffUntil: Date | null; } export interface PollerFullState extends PollerFailureState { cursor: PollerCursor; } export declare class PollerStateRepository extends BaseRepository { private readonly isPostgres; constructor(dataSource: DataSource, transactionRunner: TransactionRunner, config: DatabaseConfig); findCursor(workflowId: string, nodeId: string, ctx?: OperationContext): Promise; getOrCreateCursor(workflowId: string, nodeId: string, initial: PollerCursor, ctx: OperationContext): Promise; advanceCursor(workflowId: string, nodeId: string, cursor: PollerCursor, ctx: OperationContext, fence?: PollLeaseFence): Promise; deleteWorkflowCursors(workflowIds: string[], ctx?: OperationContext): Promise; findState(workflowId: string, nodeId: string, ctx?: OperationContext): Promise; recordFailure(workflowId: string, nodeId: string, delayMs: number, ctx?: OperationContext): Promise; clearFailures(workflowId: string, nodeId: string, ctx?: OperationContext): Promise; private buildFenceClause; }