import { DataSource } from '@n8n/typeorm'; import { BaseRepository } from './base-repository'; import { WorkflowReviewRequest, type WorkflowReviewRequestState } from '../entities/workflow-review-request.ee'; import { TransactionRunner } from '../services/transaction'; export type WorkflowReviewInboxBoundary = { mode: 'beforeTime'; updatedAt: Date; } | { mode: 'beforeOrAtTime'; updatedAt: Date; } | { mode: 'afterItem'; updatedAt: Date; id: string; }; type InboxCategoryFilter = { userId: string; category: 'waiting' | 'authored'; }; export type InboxVisibility = { scope: 'all'; } | { scope: 'involved'; userId: string; adminProjectIds: string[]; readableProjectIds: string[] | null; readableWorkflowRoles: string[]; }; type FindInboxRequestsOptions = { visibility: InboxVisibility; state?: WorkflowReviewRequestState; category?: InboxCategoryFilter; limit: number; boundary?: WorkflowReviewInboxBoundary; }; export type InboxStateCounts = { open: number; closed: number; }; export declare class WorkflowReviewInboxRepository extends BaseRepository { constructor(dataSource: DataSource, transactionRunner: TransactionRunner); findRequests(options: FindInboxRequestsOptions): Promise; countRequestsByState(visibility: InboxVisibility): Promise; } export {};