import { MatDialog } from '@angular/material/dialog';
import { DownloadService } from '@alfresco/adf-core';
import { ContentApi, NodeEntry, VersionEntry } from '@alfresco/js-api';
import { AlfrescoApiService } from '../services/alfresco-api.service';
import * as i0 from "@angular/core";
/**
 * Directive selectors without adf- prefix will be deprecated on 3.0.0
 */
export declare class NodeDownloadDirective {
    private apiService;
    private downloadService;
    private dialog;
    private _contentApi;
    get contentApi(): ContentApi;
    /** Nodes to download. */
    nodes: NodeEntry | NodeEntry[];
    /** Node's version to download. */
    version: VersionEntry;
    onClick(): void;
    constructor(apiService: AlfrescoApiService, downloadService: DownloadService, dialog: MatDialog);
    /**
     * Downloads multiple selected nodes.
     * Packs result into a .ZIP archive if there is more than one node selected.
     *
     * @param selection Multiple selected nodes to download
     */
    downloadNodes(selection: NodeEntry | Array<NodeEntry>): void;
    /**
     * Downloads a single node.
     * Packs result into a .ZIP archive is the node is a Folder.
     *
     * @param node Node to download
     */
    downloadNode(node: NodeEntry): void;
    private isSelectionValid;
    private downloadFile;
    private downloadZip;
    static ɵfac: i0.ɵɵFactoryDeclaration<NodeDownloadDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NodeDownloadDirective, "[adfNodeDownload]", never, { "nodes": { "alias": "adfNodeDownload"; "required": false; }; "version": { "alias": "version"; "required": false; }; }, {}, never, never, true, never>;
}
