import { AnimationProps } from '../../global/animation-helpers';
export declare class FileUpload implements AnimationProps {
    fileNames: string[];
    status: 'loading' | 'done' | 'warning' | 'failed' | null;
    failedStatus: string;
    allowedFileTypes: string | string[];
    fileNameValue: string;
    required: boolean;
    animation?: string;
    animationDelay?: '2s' | '3s' | '4s' | '5s';
    animationSpeed?: 'slow' | 'slower' | 'fast' | 'faster';
    private allClasses;
    private fileInput;
    private uploadUrl;
    private get allowedTypesString();
    watchAnimations(): void;
    watchAnimationsDelay(): void;
    watchAnimationsSpeed(): void;
    componentWillLoad(): void;
    handleFileUpload(event: Event): void;
    handleFileDrop(event: DragEvent): void;
    processFiles(files: File[]): void;
    fileUpload(files: File[]): Promise<void>;
    triggerFileUpload(): void;
    preventDefaults(event: DragEvent): void;
    getStatusClass(): "" | "loading" | "done" | "warning" | "failed";
    /**
     * Public getter returns a comma‑separated list of file names.
     * If no files have been uploaded, it returns "No files uploaded".
     */
    get value(): string;
    /**
     * Public method to set the upload URL through script.
     */
    setUploadUrl(url: string): Promise<void>;
    /**
     * Public method to validate that a file has been uploaded when required.
     * Returns true if valid; otherwise, sets an error status and returns false.
     */
    validate(): Promise<boolean>;
    provideClass(): void;
    render(): any;
}
