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 ListViewWidget extends Component<any, any, any> {
    constructor(props: any);
    defaultHeaderActions: {
        id: string;
        icon: string;
        label: any;
        onClick: () => void;
    }[];
    defaultSearchHeaderActions: {
        id: string;
        icon: string;
        label: any;
        onClick: () => void;
    }[];
    state: {
        getItemHeight: () => number;
        headerDefault: {
            id: string;
            icon: string;
            label: any;
            onClick: () => void;
        }[];
        onAddKeyDown: (event: Object) => void;
        onInputChange: (event: Object, { value }: any[]) => void;
        onToggleAll: (event: Object) => void;
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: PropertyKey): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: PropertyKey): boolean;
        should: Chai.Assertion;
    };
    /**
     * On new schema : we redefine the items
     * On new value : we update the check status
     */
    componentDidUpdate(prevProps: any): void;
    /**
     * Propagate a ListView value change
     * @param { Object } event The event that triggered the change
     * @param { Array } newValue The new Value
     */
    onChange(event: Object, newValue: any[]): void;
    /**
     * Search input change
     * @param { Object } event The change event
     * @param { Array } value
     */
    onInputChange(event: Object, { value }: any[]): void;
    timerSearch: NodeJS.Timeout | undefined;
    /**
     * Search input ENTER/ESC management
     * @param { Object } event The keydown event
     */
    onInputKeyDown(event: Object): void;
    /**
     * Toggle an item
     * @param { Object } event The toggle event
     * @param { Object } changedItem The item to toggle
     */
    onToggleItem(event: Object, changedItem: Object): void;
    /**
     * Toggle all displayed items
     * - Filtered items : toggle only the displayed items
     * - No filter : toggle all items
     * @param { Object } event the toggle event
     */
    onToggleAll(event: Object): void;
    /**
     * Switch header to search mode
     */
    switchToSearchMode(): void;
    /**
     * Switch header to default mode.
     * Reset display to no filter
     */
    switchToDefaultMode(): void;
    render(): import("react/jsx-runtime").JSX.Element;
}
export namespace ListViewWidget {
    namespace defaultProps {
        let value: never[];
        let t: import("i18next").TFunction<["translation", ...string[]], undefined>;
    }
    namespace propTypes {
        export let id: PropTypes.Requireable<string>;
        export let isValid: PropTypes.Requireable<boolean>;
        export let errorMessage: PropTypes.Requireable<string>;
        export let onChange: PropTypes.Validator<(...args: any[]) => any>;
        export let onFinish: PropTypes.Validator<(...args: any[]) => any>;
        export let schema: PropTypes.Requireable<PropTypes.InferProps<{
            description: PropTypes.Requireable<string>;
            disabled: PropTypes.Requireable<boolean>;
            placeholder: PropTypes.Requireable<string>;
            required: PropTypes.Requireable<boolean>;
            title: PropTypes.Requireable<string>;
            labelProps: PropTypes.Requireable<object>;
            dataTest: PropTypes.Requireable<string>;
            titleMap: PropTypes.Requireable<(PropTypes.InferProps<{
                name: PropTypes.Validator<string>;
                value: PropTypes.Validator<string>;
            }> | null | undefined)[]>;
        }>>;
        let value_1: PropTypes.Requireable<(string | null | undefined)[]>;
        export { value_1 as value };
        export let valueIsUpdating: PropTypes.Requireable<boolean>;
        let t_1: PropTypes.Requireable<(...args: any[]) => any>;
        export { t_1 as t };
    }
}
import { Component } from 'react';
import PropTypes from 'prop-types';
