import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { Observable, Subscription } from 'rxjs';
import { IFileOptions, IUploadOptions } from './file-uploader.types';
import * as i0 from "@angular/core";
export declare class SelectFiles {
    private i18n;
    private doc;
    NOT_ALLOWED_FILE_TYPE_MSG: string;
    BEYOND_MAXIMAL_FILE_SIZE_MSG: string;
    BEYOND_MAXIMAL_FILE_COUNT_MSG: string;
    i18nText: I18nInterface['upload'];
    i18nSubscription: Subscription;
    document: Document;
    constructor(i18n: I18nService, doc: any);
    selectFiles: ({ multiple, accept, webkitdirectory }: IFileOptions) => Promise<File[]>;
    isAllowedFileType: (accept: string, file: File) => boolean;
    beyondMaximalSize: (fileSize: any, maximumSize: any) => boolean;
    beyondAllFilesMaximalSize: (fileSize: any, maximumSize: any) => boolean;
    beyondMaximumFileCount: (files: any, maximumCount: any) => boolean;
    triggerSelectFiles: (fileOptions: IFileOptions, uploadOptions: IUploadOptions) => Observable<unknown>;
    triggerDropFiles: (fileOptions: IFileOptions, uploadOptions: IUploadOptions, files: any) => Observable<unknown>;
    checkAllFilesSize(fileSize: any, maximumSize: any): {
        checkError: boolean;
        errorMsg: string;
    };
    _validateFiles(filesLen: any, currentFile: any, accept: any, uploadOptions: any): {
        checkError: boolean;
        errorMsg: string;
    };
    simulateClickEvent(input: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectFiles, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SelectFiles>;
}
