/**
 * @license Copyright (c) 2003-2022, RAONWIZ DevTeam. All rights reserved.
 */
/// <reference types="react" />
import * as PropTypes from 'prop-types';
import { ComponentProps, ComponentMode } from './types';
/**
 * `RAONWIZ` component is a convenient wrapper around low-level hooks.
 * It's useful for simpler use cases. For advanced usage see `useDEXT5Upload` hook.
 */
declare function DEXT5Upload<EventHandlerProp>({ debug, id, config, componentUrl, createMode, mode, 
/**
 * `handlers` object must contain event handlers props only!
 */
...handlers }: ComponentProps<EventHandlerProp>): JSX.Element;
declare namespace DEXT5Upload {
    var propTypes: {
        onBeforeLoad: PropTypes.Requireable<(...args: any[]) => any>;
        onNamespaceLoaded: PropTypes.Requireable<(...args: any[]) => any>;
        onLoaded: PropTypes.Requireable<(...args: any[]) => any>;
        onCreationComplete: PropTypes.Requireable<(...args: any[]) => any>;
        onBeforeAddItem: PropTypes.Requireable<(...args: any[]) => any>;
        onAfterAddItem: PropTypes.Requireable<(...args: any[]) => any>;
        onAfterAddItemEndTime: PropTypes.Requireable<(...args: any[]) => any>;
        onBeforeDeleteItem: PropTypes.Requireable<(...args: any[]) => any>;
        onDeleteItemEndTime: PropTypes.Requireable<(...args: any[]) => any>;
        onTransferStart: PropTypes.Requireable<(...args: any[]) => any>;
        onTransferComplete: PropTypes.Requireable<(...args: any[]) => any>;
        onBeforeFileDownload: PropTypes.Requireable<(...args: any[]) => any>;
        onBeforeFileViewOrOpen: PropTypes.Requireable<(...args: any[]) => any>;
        onAfterDownload: PropTypes.Requireable<(...args: any[]) => any>;
        onFinishDownloaded: PropTypes.Requireable<(...args: any[]) => any>;
        onOnError: PropTypes.Requireable<(...args: any[]) => any>;
        onUploadingCancel: PropTypes.Requireable<(...args: any[]) => any>;
        onSelectItem: PropTypes.Requireable<(...args: any[]) => any>;
        onDeselectItem: PropTypes.Requireable<(...args: any[]) => any>;
        onCustomAction: PropTypes.Requireable<(...args: any[]) => any>;
        onAlert: PropTypes.Requireable<(...args: any[]) => any>;
        onDestroy: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * Config object passed to component's constructor.
         *
         * A new instance of component will be created everytime a new instance of `config` is provided.
         * If this is not expected behavior then ensure referential equality of `config` between renders.
         */
        config: PropTypes.Requireable<object>;
        /**
         * Toggles debugging. Logs info related to component lifecycle events.
         */
        debug: PropTypes.Requireable<boolean>;
        /**
         * Url with component's source code.
         */
        componentUrl: PropTypes.Requireable<string>;
        /**
         * createMode.
         */
        createMode: PropTypes.Requireable<string>;
        /**
         * A unique identifier of component instance.
         */
        id: PropTypes.Requireable<string>;
        /**
         * This prop has two-fold effect:
         *
         * - Serves as a convenience prop to start component in edit/view mode.
         *   It's an equivalent of passing `{ mode: 'edit' }` in `config` but takes precedence over it.
         */
        mode: PropTypes.Requireable<ComponentMode>;
    };
}
export default DEXT5Upload;
