import type { WorkflowReviewClosedActivityData, WorkflowReviewDecisionActivityData, WorkflowReviewOpenedActivityData, WorkflowReviewVersionUpdatedActivityData, WorkflowReviewWorkflowCauseActivityData, WorkflowReviewWorkflowCauseActivityType, WorkflowReviewWorkflowPublishedActivityData } from '@n8n/api-types'; import { DataSource } from '@n8n/typeorm'; import { BaseRepository } from './base-repository'; import { WorkflowReviewActivityComment } from '../entities/workflow-review-activity-comment.ee'; import { WorkflowReviewActivity } from '../entities/workflow-review-activity.ee'; import { type OperationContext, TransactionRunner } from '../services/transaction'; export type WorkflowReviewActivityFeedEntry = { activity: WorkflowReviewActivity; messages: WorkflowReviewActivityComment[]; }; export type WorkflowReviewActivityPayload = { type: 'review.opened'; data: WorkflowReviewOpenedActivityData; } | { type: 'comment.created'; data: null; } | { type: 'review.changes_requested' | 'review.approved'; data: WorkflowReviewDecisionActivityData; } | { type: 'review.version_updated'; data: WorkflowReviewVersionUpdatedActivityData; } | { type: 'review.closed'; data: WorkflowReviewClosedActivityData; } | { type: WorkflowReviewWorkflowCauseActivityType; data: WorkflowReviewWorkflowCauseActivityData; } | { type: 'workflow.published'; data: WorkflowReviewWorkflowPublishedActivityData; }; export declare class WorkflowReviewActivityRepository extends BaseRepository { constructor(dataSource: DataSource, transactionRunner: TransactionRunner); createActivity(input: WorkflowReviewActivityPayload & { workflowReviewRequestId: string; createdById: string | null; }, ctx: OperationContext): Promise; findFeedPage(input: { workflowReviewRequestId: string; limit: number; beforeId?: number; }, ctx: OperationContext): Promise<{ entries: WorkflowReviewActivityFeedEntry[]; hasMore: boolean; }>; private findMessagesForActivities; }