import type { GetWorkflowReviewInboxSummaryResponse, ListWorkflowReviewInboxQueryDto, ListWorkflowReviewInboxResponse, WorkflowReviewRequestDetail } from '@n8n/api-types';
import { UserRepository, WorkflowPublishedVersionRepository, WorkflowReviewRequestRepository, WorkflowReviewRequestReviewerRepository, WorkflowReviewRequestWorkflowRepository, type User } from '@n8n/db';
import { ProjectService } from '../../services/project.service.ee';
import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
import { WorkflowHistoryService } from '../../workflows/workflow-history/workflow-history.service';
import { WorkflowReviewDecisionEligibilityService } from './workflow-review-decision-eligibility.service';
import { WorkflowReviewFeatureGate } from './workflow-review-feature-gate.service';
export declare class WorkflowReviewInboxService {
    private readonly featureGate;
    private readonly workflowFinderService;
    private readonly workflowHistoryService;
    private readonly workflowPublishedVersionRepository;
    private readonly workflowReviewRequestRepository;
    private readonly workflowReviewRequestWorkflowRepository;
    private readonly workflowReviewRequestReviewerRepository;
    private readonly userRepository;
    private readonly projectService;
    private readonly decisionEligibilityService;
    constructor(featureGate: WorkflowReviewFeatureGate, workflowFinderService: WorkflowFinderService, workflowHistoryService: WorkflowHistoryService, workflowPublishedVersionRepository: WorkflowPublishedVersionRepository, workflowReviewRequestRepository: WorkflowReviewRequestRepository, workflowReviewRequestWorkflowRepository: WorkflowReviewRequestWorkflowRepository, workflowReviewRequestReviewerRepository: WorkflowReviewRequestReviewerRepository, userRepository: UserRepository, projectService: ProjectService, decisionEligibilityService: WorkflowReviewDecisionEligibilityService);
    listForInbox(user: User, query: ListWorkflowReviewInboxQueryDto): Promise<ListWorkflowReviewInboxResponse>;
    getInboxSummaryForUser(user: User): Promise<GetWorkflowReviewInboxSummaryResponse>;
    getDetail(user: User, workflowReviewRequestId: string): Promise<WorkflowReviewRequestDetail>;
    resolveAccessibleProjectIds(user: User): Promise<string[] | null>;
    private canAccessRequest;
    private filterReadableWorkflowRows;
    private toWorkflowDetail;
    private findVersionSnapshot;
    private toVersionSnapshot;
    private hydrateParticipants;
    private encodeInboxCursor;
    private decodeInboxCursor;
    private toInboxItem;
}
