import { EventEmitter } from "../../stencil-public-runtime";
import { WebComponentError } from "../../interfaces/web-component-error";
import { FileUploaderConfig } from "../../interfaces/file-uploader-config";
import { FileUploaderResult } from "../../interfaces/file-uploader-result";
export declare class FileUploader {
    /**
     * Host element reference
     * @private
     */
    private _elementHost;
    /**
     * On file change event emitter
     */
    result: EventEmitter<FileUploaderResult | null>;
    /**
     * On error event emitter
     */
    componentError: EventEmitter<WebComponentError>;
    config: FileUploaderConfig;
    /**
     * Image base64 preview value
     * @private
     */
    private _preview;
    /**
     * Image base64 preview value
     * @private
     */
    private _base64;
    /**
     * Video base64 preview value
     * @private
     */
    private _type;
    /**
     * Selected file data
     * @private
     */
    private _selectedFile;
    /**
     * Video base64 preview value
     * @private
     */
    private documentPreview;
    inputFileRef?: HTMLInputElement;
    selectFileHandler(): Promise<void>;
    onRemovedSelected(): Promise<void>;
    onChangeHandler(files: FileList): boolean;
    private uploadFile;
    private tiffPreview;
    blobToBase64(blob: any): Promise<string>;
    formatBytes(bytes: number, decimals?: number): string;
    dropFile(e: DragEvent): void;
    defaultTemplate(): any;
    buttonTemplate(): any;
    hiddenTemplate(): any;
    render(): any;
}
