import { GlobalConfig } from '@n8n/config'; import { DataSource } from '@n8n/typeorm'; import type { EntityManager } from '@n8n/typeorm'; import { BaseRepository } from './base-repository'; import { WorkflowPublicationOutbox, WorkflowPublicationOutboxStatus as Status, WorkflowPublicationReason } from '../entities/workflow-publication-outbox'; import type { OperationContext } from '../services/transaction'; import { TransactionRunner } from '../services/transaction'; export declare class WorkflowPublicationOutboxRepository extends BaseRepository { private readonly globalConfig; constructor(dataSource: DataSource, globalConfig: GlobalConfig, transactionRunner: TransactionRunner); findInFlightByWorkflowId(workflowId: string, ctx?: OperationContext): Promise; enqueue(workflowId: string, publishedVersionId: string, reason: WorkflowPublicationReason, trx?: EntityManager): Promise; private enqueueWithPostgresUpsert; private enqueueWithSqliteUpsert; enqueueByWorkflowIds(workflowIds: string[], reason: WorkflowPublicationReason): Promise; private enqueueByWorkflowIdsWithPostgresUpsert; private enqueueByWorkflowIdsWithSqliteUpsert; findVersionSkewedWorkflowIds(): Promise; findTriggerStatusDriftedWorkflowIds(): Promise; findUnreportedPublishedWorkflowIds(): Promise; claimNextPendingRecord(): Promise; private claimWithPostgresLocking; private claimWithSqliteTransaction; returnToPending(id: number): Promise; markCompleted(id: number, ctx?: OperationContext, warningMessage?: string): Promise; markFailed(id: number, errorMessage: string, ctx?: OperationContext): Promise; markPartialSuccess(id: number, errorMessage: string, ctx?: OperationContext): Promise; deleteTerminalOlderThan(completedRetentionSeconds: number, failedRetentionSeconds: number, batchSize: number): Promise; private deleteTerminalWithPostgres; private deleteTerminalWithSqlite; getRecordStatsByStatus(): Promise>; private parseTimestamp; private assertSingleRowAffected; private getTableName; }