import BaseComponent from "../Counter/BaseComponent";
type MultipleFiles = {
    file: File;
    name: string;
};
declare class FileUpload extends BaseComponent {
    props: any;
    uploadedMultipleFiles: Array<MultipleFiles>;
    selectedFiles: Array<File>;
    name: string;
    label: string;
    labelCss: string;
    description: string;
    descriptionCss: string;
    descriptionHelper: string;
    descriptionHelperCss: string;
    browseButton: {
        isButtonVisible: boolean;
        buttonCss: string;
        label: string;
    };
    maxFileSize: number;
    isMultiple: boolean;
    img: string;
    API: {
        apiUrl: string;
        token: string;
        method: string;
        baseURL: string;
    };
    constructor();
    static get observedAttributes(): string[];
    attributeChangedCallback(name: string, oldValue: unknown, newValue: string): void;
    connectedCallback(): void;
    render(variant: string): void;
    private getInlineStyles;
    private getBlockStyles;
    getFileNameFromFiles(): Array<string>;
    private renderInlineVariant;
    private renderBlockVariant;
    private generateFileItem;
    private createImageElement;
    private createDescriptionElement;
    private createLabelElement;
    private createBrowseButton;
    openFileDialog(): void;
    onDrop(event: DragEvent): void;
    onDragOver(event: DragEvent): void;
    handleFileSelect(event: Event): void;
    validateFiles(files: File[]): boolean;
    addFiles(files: File[]): void;
    cdnFileUpload(files: File[]): Promise<void>;
}
export default FileUpload;
