import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { AllowableOperationsEnum } from '../../common/models/allowable-operations.enum';
import { Node } from '@alfresco/js-api';
import { Subject } from 'rxjs';
import { PermissionModel } from '../../document-list/models/permissions.model';
import { UploadBase } from './base-upload/upload-base';
import { NodeAllowableOperationSubject } from '../../interfaces/node-allowable-operation-subject.interface';
import * as i0 from "@angular/core";
export declare class UploadButtonComponent extends UploadBase implements OnInit, OnChanges, NodeAllowableOperationSubject {
    private contentService;
    private nodesApiService;
    /** Allows/disallows upload folders (only for Chrome). */
    uploadFolders: boolean;
    /** Allows/disallows multiple files */
    multipleFiles: boolean;
    /** Defines the text of the upload button. */
    staticTitle: string;
    /** Custom tooltip text. */
    tooltip: string;
    /** Custom added file. The upload button type will be 'button' instead of 'file' */
    file: File;
    /** Emitted when create permission is missing. */
    permissionEvent: EventEmitter<PermissionModel>;
    private hasAllowableOperations;
    protected permissionValue: Subject<boolean>;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    isButtonDisabled(): boolean;
    onFilesAdded($event: any): void;
    onClickUploadButton(): void;
    onDirectoryAdded($event: any): void;
    checkPermission(): void;
    nodeHasPermission(node: Node, permission: AllowableOperationsEnum | string): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<UploadButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<UploadButtonComponent, "adf-upload-button", never, { "uploadFolders": { "alias": "uploadFolders"; "required": false; }; "multipleFiles": { "alias": "multipleFiles"; "required": false; }; "staticTitle": { "alias": "staticTitle"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "file": { "alias": "file"; "required": false; }; }, { "permissionEvent": "permissionEvent"; }, never, never, true, never>;
}
