export namespace enumerationStates {
    let DISPLAY_MODE_DEFAULT: string;
    let DISPLAY_MODE_ADD: string;
    let DISPLAY_MODE_SEARCH: string;
    let DISPLAY_MODE_EDIT: string;
    let DISPLAY_MODE_SELECTED: string;
    let IMPORT_MODE_APPEND: string;
    let IMPORT_MODE_OVERWRITE: string;
}
declare const _default: import("react").ComponentType<Omit<import("react-i18next/helpers").$Subtract<any, import("react-i18next").WithTranslationProps>, keyof import("react-i18next").WithTranslation<Ns, undefined>> & import("react-i18next").WithTranslationProps>;
export default _default;
export class EnumerationForm extends Component<any, any, any> {
    static getItemHeight(): number;
    static parseStringValueToArray(values: any, disableSplit: any): any;
    static updateItemValidateDisabled(value: any, valueExist: any): {
        currentEdit: {
            validate: {
                disabled: boolean;
            };
        };
    };
    constructor(props: any);
    timerSearch: any;
    allowDuplicate: boolean;
    allowImport: boolean;
    /**
     * importFileHandler - Action after the upload
     *
     */
    importFileHandler(): void;
    addInputs: ({
        disabled: boolean;
        label: any;
        icon: string;
        id: string;
        key: string;
        onClick: (event: any, value: any) => void;
    } | {
        label: any;
        icon: string;
        id: string;
        key: string;
        onClick: () => void;
        disabled?: undefined;
    })[];
    searchInputsActions: {
        label: any;
        icon: string;
        id: string;
        key: string;
        onClick: () => void;
    }[];
    loadingInputsActions: {
        label: any;
        icon: string;
        inProgress: boolean;
        id: string;
    }[];
    itemEditActions: {
        disabled: boolean;
        label: any;
        icon: string;
        id: string;
        onClick: (event: any, value: any) => void;
    }[];
    defaultActions: {
        disabled: any;
        label: any;
        icon: string;
        id: string;
        onClick: (event: any, value: any) => void;
    }[];
    defaultHeaderActions: {
        disabled: boolean;
        label: any;
        icon: string;
        id: string;
        onClick: () => void;
    }[];
    selectedHeaderActions: {
        disabled: any;
        label: any;
        icon: string;
        id: string;
        onClick: (event: any) => void;
    }[];
    state: {
        inputRef: (input: any) => void;
        displayMode: string;
        searchCriteria: string;
        required: any;
        headerDefault: {
            disabled: boolean;
            label: any;
            icon: string;
            id: string;
            onClick: () => void;
        }[];
        headerSelected: {
            disabled: any;
            label: any;
            icon: string;
            id: string;
            onClick: (event: any) => void;
        }[];
        headerInput: ({
            disabled: boolean;
            label: any;
            icon: string;
            id: string;
            key: string;
            onClick: (event: any, value: any) => void;
        } | {
            label: any;
            icon: string;
            id: string;
            key: string;
            onClick: () => void;
            disabled?: undefined;
        })[];
        items: any;
        itemsProp: {
            key: string;
            getItemHeight: typeof EnumerationForm.getItemHeight;
            onSubmitItem: (event: any, value: any) => void;
            onAbortItem: (event: any, value: any) => void;
            onChangeItem: (event: any, value: any) => void;
            onSelectItem: (item: any, event: any) => void;
            onLoadData: () => void;
            actionsDefault: {
                disabled: any;
                label: any;
                icon: string;
                id: string;
                onClick: (event: any, value: any) => void;
            }[];
            actionsEdit: {
                disabled: boolean;
                label: any;
                icon: string;
                id: string;
                onClick: (event: any, value: any) => void;
            }[];
        };
        onInputChange: (event: any, value: any) => void;
        onAddKeyDown: (event: any, value: any) => void;
    };
    onBlur(event: any): void;
    componentDidUpdate(prevProps: any): void;
    getDisableSplit(): any;
    onChange(event: any, payload: any): void;
    onImportAppendClick(): void;
    onImportOverwriteClick(): void;
    onEnterEditModeItem(event: any, value: any): void;
    onSearchEditModeItem(event: any, value: any): void;
    onDeleteItem(event: any, value: any): void;
    onDeleteItemHandler(): void;
    onAbortItem(event: any, value: any): void;
    onChangeItem(event: any, value: any): void;
    onSubmitItem(event: any, value: any): void;
    onInputChange(event: any, value: any): void;
    onLazyHandler(): void;
    onSearchHandler(value: any): void;
    onAbortHandler(): void;
    onConnectedAbortHandler(): void;
    onAddKeyDown(event: any, value: any): void;
    onSelectItem(item: any, event: any): void;
    onDeleteItems(event: any): void;
    onDeleteItemsHandler(): void;
    onAddHandler(event: any, value: any, successHandler: any, failHandler: any, isSingleAdd?: boolean): void;
    onValidateAndAddHandler(event: any, value: any): void;
    onSingleAddHandler(event: any, value: any): void;
    onLoadData(): void;
    onImportButtonClick(): void;
    setInputRef(input: any): void;
    input: any;
    getItemSelectedInSearchMode(searchCriteria: any, index: any): any;
    getItemInSearchMode(searchCriteria: any, index: any, items: any): any;
    getIndexToRemoveInSearchMode(searchCriteria: any, index: any, items: any): any;
    isConnectedMode(): boolean;
    itemSubmitHandler(): void;
    addSuccessHandler(): void;
    validateAndAddSuccessHandler(): void;
    addFailHandler(): void;
    /**
     * simulateClickInputFile - simulate the click on the hidden input
     *
     */
    simulateClickInputFile(): void;
    /**
     * importFile - importFile
     *
     * @param  {Event} event Event trigger when the user change the input file
     */
    importFile(event: Event): any;
    resetInputFile(): void;
    searchItems(searchCriteria: any): any;
    changeDisplayToAddMode(): void;
    changeDisplayToSearchMode(): void;
    valueAlreadyExist(value: any, state: any, index: any): boolean;
    updateHeaderInputDisabled(value: any): void;
    renderImportFile(): import("react/jsx-runtime").JSX.Element;
    inputFile: HTMLInputElement | null | undefined;
    render(): import("react/jsx-runtime").JSX.Element;
}
export namespace EnumerationForm {
    namespace propTypes {
        let id: PropTypes.Requireable<string>;
        let errorMessage: PropTypes.Requireable<string>;
        let isValid: PropTypes.Requireable<boolean>;
        let onChange: PropTypes.Validator<(...args: any[]) => any>;
        let onFinish: PropTypes.Validator<(...args: any[]) => any>;
        let onTrigger: PropTypes.Validator<(...args: any[]) => any>;
        let properties: PropTypes.Requireable<object>;
        let schema: PropTypes.Requireable<object>;
        let t: PropTypes.Requireable<(...args: any[]) => any>;
        let value: PropTypes.Requireable<(PropTypes.InferProps<{
            id: PropTypes.Requireable<string>;
            values: PropTypes.Requireable<(string | null | undefined)[]>;
        }> | null | undefined)[]>;
    }
    namespace defaultProps {
        let t_1: import("i18next").TFunction<["translation", ...string[]], undefined>;
        export { t_1 as t };
    }
}
import { Component } from 'react';
import PropTypes from 'prop-types';
