import PropTypes from 'prop-types';
import { FilterChipProps } from '../../organism/filter-chip/prop-types';
import { FilterCheckboxAndSearchProps } from '../../organism/filter-checkbox-and-search/props-types';
declare const propTypes: {
    title: PropTypes.Requireable<string>;
    onClearAll: PropTypes.Requireable<(...args: any[]) => any>;
    options: PropTypes.Requireable<(NonNullable<PropTypes.InferProps<{
        type: PropTypes.Requireable<string>;
        options: PropTypes.Requireable<PropTypes.InferProps<{
            title: PropTypes.Requireable<string>;
            onClear: PropTypes.Requireable<(...args: any[]) => any>;
            options: PropTypes.Requireable<(PropTypes.InferProps<{
                label: PropTypes.Requireable<string>;
                type: PropTypes.Requireable<string>;
                selected: PropTypes.Requireable<boolean>;
                icon: PropTypes.Requireable<string>;
                onClick: PropTypes.Requireable<(...args: any[]) => any>;
            }> | null | undefined)[]>;
        }>>;
    }> | PropTypes.InferProps<{
        type: PropTypes.Requireable<string>;
        options: PropTypes.Requireable<PropTypes.InferProps<{
            title: PropTypes.Requireable<string>;
            onClear: PropTypes.Requireable<(...args: any[]) => any>;
            options: PropTypes.Requireable<(PropTypes.InferProps<{
                label: PropTypes.Requireable<string>;
                value: PropTypes.Requireable<string>;
                selected: PropTypes.Requireable<boolean>;
                ref: PropTypes.Requireable<string>;
                count: PropTypes.Requireable<number>;
                onClick: PropTypes.Requireable<(...args: any[]) => any>;
            }> | null | undefined)[]>;
            searchOptions: PropTypes.Requireable<PropTypes.InferProps<{
                action: PropTypes.Requireable<string>;
                method: PropTypes.Requireable<string>;
                onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
                onReset: PropTypes.Requireable<(...args: any[]) => any>;
                onSearchFocus: PropTypes.Requireable<(...args: any[]) => any>;
                onSearchBlur: PropTypes.Requireable<(...args: any[]) => any>;
                search: PropTypes.Requireable<PropTypes.InferProps<{
                    value: PropTypes.Requireable<string>;
                    placeholder: PropTypes.Validator<string>;
                    onChange: PropTypes.Requireable<(...args: any[]) => any>;
                    onClear: PropTypes.Requireable<(...args: any[]) => any>;
                    onFocus: PropTypes.Requireable<(...args: any[]) => any>;
                    onBlur: PropTypes.Requireable<(...args: any[]) => any>;
                    theme: PropTypes.Requireable<string>;
                    dataTestId: PropTypes.Requireable<string>;
                }>>;
                'search-reset-aria-label': PropTypes.Requireable<string>;
                dataTestId: PropTypes.Requireable<string>;
            }>>;
        }>>;
    }> | null | undefined> | null | undefined)[]>;
};
export declare type OptionsChipProps = {
    type: 'chip';
    options: FilterChipProps;
};
export declare type OptionsCheckboxProps = {
    type: 'checkbox';
    options: FilterCheckboxAndSearchProps;
};
export declare type FilterOptionsProps = OptionsChipProps | OptionsCheckboxProps;
export declare type MultiFilterPanelProps = {
    title: string;
    onClearAll: () => void;
    options: FilterOptionsProps[];
};
export default propTypes;
//# sourceMappingURL=prop-types.d.ts.map