import { EventEmitter, OnInit } from '@angular/core';
import { DropAreaComponent, DroppedFile } from '../drop-area/drop-area.component';
import { ValidationPattern } from '../forms/validation-pattern';
import { FilePickerConfig } from './file-picker-config.model';
import { PickedFiles } from './file-picker.model';
import * as i0 from "@angular/core";
/**
 * User can upload a binary directly or use an URL.
 *
 * ## Usage
 *
 * ```html
 * <div>
 * <c8y-file-picker [maxAllowedFiles]="1" (onFilesPicked)="onFile($event)">
 * </c8y-file-picker>
 * </div>
 * ```
 */
export declare class FilePickerComponent implements OnInit {
    dropArea: DropAreaComponent;
    onFilesPicked: EventEmitter<PickedFiles>;
    maxAllowedFiles: number;
    uploadChoice: 'uploadBinary' | 'uploadUrl';
    fileUrl: string;
    fileBinary: DroppedFile;
    config: FilePickerConfig;
    /**
     * Used only when displaying multiple file pickers in the same view.
     */
    filePickerIndex: number;
    /**
     * Additional string to be displayed in a popover.
     */
    fileUrlPopover: string;
    ValidationPattern: typeof ValidationPattern;
    droppedFiles: DroppedFile[];
    private fileToSave;
    /**
     * @ignore
     */
    ngOnInit(): void;
    /**
     * Triggered by dropped file in component and pass it into drop-area component.
     */
    onFileDropped(droppedFiles: DroppedFile[]): void;
    /**
     * Triggered when user changes upload choice, from upload url to upload binary.
     */
    clearInputFromUrl(): void;
    /**
     * Triggered when user changes upload choice, to avoid cumulation of droppedFiles.
     */
    clearSelectedFiles(): void;
    /**
     * Triggered when user puts binary's url to upload.
     */
    onFileUrlChange(urlStr: any): void;
    /**
     * Checks if there is popover to display.
     */
    isPopoverUsed(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<FilePickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FilePickerComponent, "c8y-file-picker", never, { "maxAllowedFiles": { "alias": "maxAllowedFiles"; "required": false; }; "uploadChoice": { "alias": "uploadChoice"; "required": false; }; "fileUrl": { "alias": "fileUrl"; "required": false; }; "fileBinary": { "alias": "fileBinary"; "required": false; }; "config": { "alias": "config"; "required": false; }; "filePickerIndex": { "alias": "filePickerIndex"; "required": false; }; "fileUrlPopover": { "alias": "fileUrlPopover"; "required": false; }; }, { "onFilesPicked": "onFilesPicked"; }, never, never, false, never>;
}
//# sourceMappingURL=file-picker.component.d.ts.map