import React from "react";
import { FileObject } from "material-ui-dropzone";
import { IDataDefinition } from "@appglue/common/dist/Common/Data/Definitions/IDataDefinition";
import { ValidationIssue } from "@appglue/common/dist/Common/IDesignValidationProvider";
import { DataFormControl } from "./DataFormControl";
export declare abstract class FileFormControl extends DataFormControl {
    showFileName: boolean;
    showFileSize: boolean;
    showPreview: boolean;
    filesLimit: number;
    private showLayer;
    openLayer: (event: React.MouseEvent<HTMLElement>) => void;
    onClose: () => void;
    renderLayerContent(): JSX.Element | null;
    getDesignValidationIssues(): ValidationIssue[];
    getRuntimeValidationIssues(): ValidationIssue[];
    getAddedData(): IDataDefinition | IDataDefinition[] | undefined;
    getStorageData(): object;
    setStorageData(data: object): void;
    protected addFiles: (files: FileObject[]) => void;
    protected deleteFile: (_file: FileObject, index: number) => void;
    protected getFileObjects: () => FileObject[];
}
