import { Asset, AssetModalProps, CreateFolder, GetFolders, GetUsers, UploadFiles } from "./common";
export interface OnCustomActionClickParams {
    folderUid: string;
    stopLoading: Function;
    closeModal: Function;
}
export type OnCustomActionClick = ({ folderUid, stopLoading }: OnCustomActionClickParams) => void;
export interface CustomAction {
    onClick: OnCustomActionClick;
    label: string;
    restButtonProps?: {
        [key: string]: boolean | string | Array<boolean | string | Object> | Object;
    };
}
export interface UploadAssetModalProps extends AssetModalProps {
    /**
     * Function called once the user confirms the selection
     * @param assets {Asset[]} the selected assets
     * @param rejectedFiles files failing validation
     * @returns void
     */
    onSubmit: (assets: Asset[], rejectedFiles: {
        message: string;
        code: string;
        file: File;
    }[]) => void;
    getFolders: GetFolders;
    getUsers: GetUsers;
    createFolder: CreateFolder;
    upload: UploadFiles;
    getFilesFromFileSystem?: boolean;
    actions?: CustomAction[];
}
