/**
 * Copyright Aquera Inc 2025
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import { ChangedPropsInterface } from './types/file-upload.type';
import NileElement from '../internal/nile-element';
import { CSSResultArray, TemplateResult } from 'lit';
import { FileUploadState, FileUploadVariant } from './types/file-upload.enums';
/**
 * Nile file-upload component.
 *
 * @tag nile-file-upload
 *
 */
export declare class NileFileUpload extends NileElement {
    /**
     * The styles for nile-file-upload
     * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
     */
    static get styles(): CSSResultArray;
    size: string;
    error: boolean;
    errorMessage: string;
    allowMultiple: boolean;
    allowDuplicates: boolean;
    allowedTypes: string[];
    uploadedFiles: File[];
    title: string;
    subtitle: string;
    state: FileUploadState;
    variant: FileUploadVariant;
    fileUploadUrl: string;
    autoUpload: boolean;
    doNotUpload: File[];
    input: HTMLInputElement;
    horizontalDiv: HTMLDivElement;
    uploadRequests: Map<File, XMLHttpRequest>;
    fileSizeExceededFilesNumber: number;
    isStringTruncated: boolean;
    private dragHandler;
    connectedCallback(): void;
    firstUpdated(changedProps: ChangedPropsInterface): void;
    updated(changedProps: ChangedPropsInterface): void;
    browseFiles(): void;
    setState: (newState: FileUploadState) => void;
    render(): TemplateResult;
    clearAllUploadedFiles(): void;
    private getState;
    private getHorizontalState;
    private getVerticalState;
    disconnectedCallback(): void;
}
