import { CreateFolderDto, DeleteFolderDto, ListFolderQueryDto, UpdateFolderDto } from '@n8n/api-types';
import { Response } from 'express';
import { AuthenticatedRequest } from '../requests';
import { FolderService } from '../services/folder.service';
export declare class ProjectController {
    private readonly folderService;
    constructor(folderService: FolderService);
    createFolder(req: AuthenticatedRequest<{
        projectId: string;
    }>, _res: Response, payload: CreateFolderDto): Promise<{
        name: string;
        parentFolderId: string | null;
        parentFolder: import("../databases/entities/folder").Folder | null;
        subFolders: import("../databases/entities/folder").Folder[];
        workflows: import("../databases/entities/workflow-entity").WorkflowEntity[];
        tags: import("../databases/entities/tag-entity").TagEntity[];
        id: string;
        createdAt: Date;
        updatedAt: Date;
        workflowCount: boolean;
        subFolderCount: number;
    }>;
    getFolderTree(req: AuthenticatedRequest<{
        projectId: string;
        folderId: string;
    }>, _res: Response): Promise<import("../services/folder.service").SimpleFolderNode[]>;
    updateFolder(req: AuthenticatedRequest<{
        projectId: string;
        folderId: string;
    }>, _res: Response, payload: UpdateFolderDto): Promise<void>;
    deleteFolder(req: AuthenticatedRequest<{
        projectId: string;
        folderId: string;
    }>, _res: Response, payload: DeleteFolderDto): Promise<void>;
    listFolders(req: AuthenticatedRequest<{
        projectId: string;
    }>, res: Response, payload: ListFolderQueryDto): Promise<void>;
    getFolderContent(req: AuthenticatedRequest<{
        projectId: string;
        folderId: string;
    }>): Promise<{
        totalSubFolders: number;
        totalWorkflows: number;
    }>;
}
