import { CreateProjectDto, DeleteProjectDto, UpdateProjectDto, AddUsersToProjectDto, ChangeUserRoleInProject, ListProjectsQueryDto } from '@n8n/api-types'; import { AuthenticatedRequest, ProjectRepository } from '@n8n/db'; import type { Scope } from '@n8n/permissions'; import { Response } from 'express'; import { EventService } from '../events/event.service'; import { ProvisioningService } from '../modules/provisioning.ee/provisioning.service.ee'; import type { ProjectRequest } from '../requests'; import { ProjectService } from '../services/project.service.ee'; import { UserManagementMailer } from '../user-management/email'; export declare class ProjectController { private readonly projectsService; private readonly projectRepository; private readonly eventService; private readonly userManagementMailer; private readonly provisioningService; constructor(projectsService: ProjectService, projectRepository: ProjectRepository, eventService: EventService, userManagementMailer: UserManagementMailer, provisioningService: ProvisioningService); getAllProjects(req: AuthenticatedRequest, res: Response, payload: ListProjectsQueryDto): Promise> | import("@n8n/db").Project[]>; getProjectCounts(): Promise>; getSharingCandidates(req: AuthenticatedRequest, res: Response, payload: ListProjectsQueryDto): Promise>>; createProject(req: AuthenticatedRequest, _res: Response, payload: CreateProjectDto): Promise<{ role: string; scopes: Scope[]; name: string; type: "personal" | "team"; icon: { type: "emoji" | "icon"; value: string; } | null; description: string | null; projectRelations: import("@n8n/db").ProjectRelation[]; sharedCredentials: import("@n8n/db").SharedCredentials[]; sharedWorkflows: import("@n8n/db").SharedWorkflow[]; secretsProviderAccess: import("@n8n/db").ProjectSecretsProviderAccess[]; variables: import("@n8n/db").Variables[]; roleMappingRules: import("@n8n/db").RoleMappingRule[]; creatorId: string | null; creator?: import("@n8n/typeorm").Relation; id: string; generateId(): void; createdAt: Date; updatedAt: Date; setUpdateDate(): void; }>; getMyProjects(req: AuthenticatedRequest, _res: Response): Promise; getPersonalProject(req: AuthenticatedRequest): Promise<{ scopes: Scope[]; name: string; type: "personal" | "team"; icon: { type: "emoji" | "icon"; value: string; } | null; description: string | null; projectRelations: import("@n8n/db").ProjectRelation[]; sharedCredentials: import("@n8n/db").SharedCredentials[]; sharedWorkflows: import("@n8n/db").SharedWorkflow[]; secretsProviderAccess: import("@n8n/db").ProjectSecretsProviderAccess[]; variables: import("@n8n/db").Variables[]; roleMappingRules: import("@n8n/db").RoleMappingRule[]; creatorId: string | null; creator?: import("@n8n/typeorm").Relation; id: string; generateId(): void; createdAt: Date; updatedAt: Date; setUpdateDate(): void; }>; getProject(req: AuthenticatedRequest, _res: Response, projectId: string): Promise; updateProject(_req: AuthenticatedRequest, _res: Response, payload: UpdateProjectDto, projectId: string): Promise; addProjectUsers(req: AuthenticatedRequest, res: Response, projectId: string, payload: AddUsersToProjectDto): Promise>>; changeProjectUserRole(req: AuthenticatedRequest, res: Response, projectId: string, userId: string, body: ChangeUserRoleInProject): Promise>>; deleteProjectUser(req: AuthenticatedRequest, res: Response, projectId: string, userId: string): Promise>>; deleteProject(req: AuthenticatedRequest, _res: Response, query: DeleteProjectDto, projectId: string): Promise; }