import type { User } from '@n8n/db';
import { FolderFinderService } from '../../../../services/folder-finder.service';
import { WorkflowFinderService } from '../../../../workflows/workflow-finder.service';
import { FolderSerializer } from './folder.serializer';
import type { PackageWriter } from '../../io/package-writer';
import type { ManifestEntry } from '../../spec/manifest.schema';
import type { WorkflowExportRequirements } from '../requirements.types';
import { WorkflowExporter } from '../workflow/workflow.exporter';
export interface FolderExportRequest {
    user: User;
    folderIds: string[];
    writer: PackageWriter;
    basePrefix?: string;
}
export interface FolderExportResult {
    entries: ManifestEntry[];
    workflowEntries: ManifestEntry[];
    requirements: WorkflowExportRequirements;
}
export declare class FolderExporter {
    private readonly folderFinder;
    private readonly folderSerializer;
    private readonly workflowFinder;
    private readonly workflowExporter;
    constructor(folderFinder: FolderFinderService, folderSerializer: FolderSerializer, workflowFinder: WorkflowFinderService, workflowExporter: WorkflowExporter);
    export(request: FolderExportRequest): Promise<FolderExportResult>;
    private buildForest;
    private exportLevel;
    private exportFolder;
    private exportFolderShell;
    private exportContainedWorkflows;
    private mergeFolderExportResults;
    private orderedByCreation;
}
