import type { User } from '@n8n/db';
import { FolderFinderService } from '../../../../services/folder-finder.service';
import { ProjectService } from '../../../../services/project.service.ee';
import { WorkflowFinderService } from '../../../../workflows/workflow-finder.service';
import { ProjectSerializer } from './project.serializer';
import type { PackageWriter } from '../../io/package-writer';
import type { ManifestEntry } from '../../spec/manifest.schema';
import { FolderExporter } from '../folder/folder.exporter';
import type { WorkflowExportRequirements } from '../requirements.types';
import { WorkflowExporter } from '../workflow/workflow.exporter';
export interface ProjectExportRequest {
    user: User;
    projectIds: string[];
    writer: PackageWriter;
}
interface ProjectExportResult {
    entries: ManifestEntry[];
    folderEntries: ManifestEntry[];
    workflowEntries: ManifestEntry[];
    requirements: WorkflowExportRequirements;
    projectTargetsById: Map<string, string>;
}
export declare class ProjectExporter {
    private readonly projectService;
    private readonly projectSerializer;
    private readonly folderFinder;
    private readonly workflowFinder;
    private readonly folderExporter;
    private readonly workflowExporter;
    constructor(projectService: ProjectService, projectSerializer: ProjectSerializer, folderFinder: FolderFinderService, workflowFinder: WorkflowFinderService, folderExporter: FolderExporter, workflowExporter: WorkflowExporter);
    export(request: ProjectExportRequest): Promise<ProjectExportResult>;
    private exportProject;
    private exportProjectShell;
    private exportProjectFolders;
    private exportProjectRootWorkflows;
    private mergeProjectExportResults;
}
export {};
