import SgdsCloseButton from "../CloseButton/sgds-close-button";
import { SgdsButton } from "../Button/sgds-button";
import FormControlElement from "../../base/form-control-element";
import SgdsIcon from "../Icon/sgds-icon";
declare const SgdsFileUpload_base: (new (...args: any[]) => import("../../utils/validatorMixin").ToBeValidatedElementInterface) & typeof FormControlElement;
/**
 * @summary Allows users to upload files of various sizes and formats
 *
 * @slot default - Label for file upload button
 *
 * @event sgds-files-selected - Emitted when files are selected for uploading. Access the selected files with event.target.detail
 */
export declare class SgdsFileUpload extends SgdsFileUpload_base {
    static styles: import("lit").CSSResult[];
    /**@internal */
    static dependencies: {
        "sgds-button": typeof SgdsButton;
        "sgds-close-button": typeof SgdsCloseButton;
        "sgds-icon": typeof SgdsIcon;
    };
    /** Allows multiple files to be listed for uploading */
    multiple: boolean;
    /** Specify the acceptable file type  */
    accept: string;
    /** Allows invalidFeedback, invalid and valid styles to be visible with the input */
    hasFeedback: boolean;
    /**Feedback text for error state when validated */
    invalidFeedback: string;
    /** Makes the input as a required field. */
    required: boolean;
    private selectedFiles;
    /**
     * Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state
     * Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput
     */
    reportValidity(): boolean;
    /**
     * Checks for validity without any native error popup message
     */
    checkValidity(): boolean;
    /**
     * Returns the ValidityState object
     */
    get validity(): ValidityState;
    /**
     * Returns the validation message based on the ValidityState
     */
    get validationMessage(): string;
    /**
     * Returns files selected for upload
     */
    get files(): File[];
    private _setFileList;
    private inputRef;
    private _handleClick;
    private _handleChange;
    private _removeFileHandler;
    private _clearAllFiles;
    /**
     * fileupload requries a custom _mixinResetFormControl for clearing files
     */
    private _mixinResetFormControl;
    _handleDisabledChange(): void;
    protected _renderLabel(): import("lit").TemplateResult<1>;
    protected _renderHintText(): import("lit").TemplateResult<1>;
    protected _renderFeedback(): import("lit").TemplateResult<1>;
    render(): import("lit").TemplateResult<1>;
}
export default SgdsFileUpload;
