import { UIColumn } from './../data/grid/ui-column';
import { UIPictures } from '../pictures/ui-pictures';
import { BindingEngine } from 'aurelia-framework';
import { Disposable } from 'aurelia-binding';
import { PictureHelper } from './picture-helper';
import { IFile, UIFilesColumnInfo } from '../../model/common-model';
import { Config } from '../../config';
import { RemoteFileStorage } from '../../services/file-storage-service';
export declare class UIFiles {
    private bindingEngine;
    private pictureHelper;
    private config;
    private fileStorageService;
    private fileTypeService;
    files: FileType[];
    enumerationCategory: number;
    enumerationDisplayPropertyName: string;
    enumerationIdPropertyName: string;
    fileAddedFn: () => {};
    fileUploadedFn: () => {};
    confirmUploadFn: () => boolean | Promise<boolean>;
    uploadCompleteFn: () => {};
    accept: string;
    folderName: string;
    canAdd: boolean;
    canEdit: boolean;
    canDownload: boolean;
    canDelete: boolean;
    deleteFileFn: () => {};
    deleteFilesFn: () => {};
    massiveDownloadFn: () => {};
    selectedFiles: FileType[];
    isSelectable: boolean;
    acceptSelectable: string;
    columnsInfo: Array<UIFilesColumnInfo>;
    autoConvert: boolean;
    dropZoneMode: 'Top' | 'Inner' | 'None';
    designWithBorder: boolean;
    uploadBtn: HTMLElement;
    uploadBtnPosition: 'Auto' | 'Custom';
    ignoreFileExistence: boolean;
    useVirtualization: boolean;
    customColumns: Array<UIColumn>;
    currentSearch: string;
    private filesSearched;
    private disposables;
    filesObserver: Disposable;
    constructor(bindingEngine: BindingEngine, pictureHelper: PictureHelper, config: Config, fileStorageService: RemoteFileStorage.Service);
    showColumn(columnName: string): boolean;
    getWidthColumn(columnName: string): string | number | true;
    enumerationCategoryChanged(newVal: any, oldVal: any): void;
    bind(): void;
    attached(): void;
    private addObserverIsSelected;
    detached(): void;
    private resetFilteredFiles;
    currentSearchChanged(n: any, o: any): void;
}
declare interface FileType extends IFile {
    extension: string;
    isSelectable: boolean;
    isSelected: boolean;
}
export declare const UIFilesComponents: (typeof UIPictures | typeof UIFiles)[];
export {};
